スキップしてメイン コンテンツに移動

AACファイルがWALKMANで再生できないときの対処方法

2009年に発売されたA840シリーズのNW-A847を今でも使い続けています。

フルデジタルアンプ"S-Master"や64GBメモリ搭載といったスペックで当時のメモリータイプウォークマンでも最上位モデルだったと思います。MP3/WMA/ATRAC/ATRAC Advanced Lossless/リニアPCM/AAC/HE-AACのフォーマットに対応しています。

FLACや最近のロスレスやハイレゾフォーマットには当然対応していません。アプリなども入らないのでストリーミングサービスの音楽も聴けません。それらが聴きたいときはスマホで代替します。

最近はCDも手に入りづらくなったので音楽購入サービスで楽曲ファイルを買ってみたらトラブルが起きました。


起きたこと:iTunes Storeで購入したAACファイルが聴けなかった

iTunes Storeで楽曲ファイルを購入し、NW-A847にコピーして聴こうとしたら、再生されずにフリーズしてしまいました。

3曲買って1曲は聴けて、2曲は再生できない状態でした。


原因調査

再生できなかったファイルのフォーマットはAAC 270kbpsぐらいのもの。NW-A847はAAC 320kbpsのものまで再生できるので問題ありません。

再生画面に進んだときにアートワークが表示されず、楽曲時間のところが0:00になっていたのでメタデータの読み込みがうまくいっていない様子です。

AACファイルを再変換してしまうと元の音質から変わってしまうので変換しないで済む方法を考えました。


対処:メタデータ部分を削除すると再生できました

iTunes Storeで購入したAACファイルにも曲名やアーティスト名などのメタデータ、アートワーク(ジャケット画像)が入っているので変更や削除してみます。

手元にあったタグ変更できるツールや機能で試していきました。


方法1: Windowsのファイルプロパティでメタデータ部分を変えてみる

WindowsではAACファイルを右クリックして詳細開くとメタデータをいじれます。

変えてもフリーズする状態は変わりませんでした。


方法2: MediaGoでメタデータ部分やアートワークを変えてみる   

MediaGoアプリがPCに入っているのでメタデータをいじってみました。アートワークを追加したり削除してみました。

変えてもフリーズする状態は変わりませんでした。


方法3: Nero AAC Codecのneroaactagコマンドでアートワークを消してみる

neroaactagコマンドでアートワークを削除するオプションがあるのでやってみました。

neroaactag <AACファイル名> -remove-cover:all

消してもフリーズする状態は変わりませんでした。(メタデータの編集まではこの時やっていないので、やったら解決していたかもしれない)


方法4: ffmpegのコマンドでメタデータやアートワークを消してみる

ffmpegで下記のオプションで処理したファイルは再生できるようになりました。


メタデータや構造を見る

ffmpeg -i <AACファイル名>

-i <AACファイル名>は入力ファイル名の指定

または下記のコマンドでも見れる

ffprobe <AACファイル名>

<AACファイル名> は入力ファイル名の指定


メタデータやアートワークを削除する

ffmpeg -i <AACファイル名> -vn -codec:a copy -map_metadata -1 <出力AACファイル名>

-i <AACファイル名>は入力ファイル名の指定

-vnは映像無しで出力する

-codec:a copy オーディオコーデックの指定で再エンコードしないでコピーをする

-map_metadata -1 元のメタデータのインデックスを指定(-1=存在しないもの?)

<出力AACファイル名> は出力するときのAACファイル名の指定


処理したファイルをWALKMANにコピーして再生してみるとフリーズ無く聴けました。

メタデータが無いのでアーティスト名や曲名が無くなって探しづらいので、再生できることを確認したら必要なタグを入れ直しましょう。

このブログの人気の投稿

Win95/98時代のゲームを今のWindows10で遊ぶ・動かす方法

 昔のWindows95/98時代のゲームを今でも遊びたいという人は多いと思います。自分もそうです。 でもWindows10で動かそうとしてもそのままではうまく動かないときが多いので対処方法をまとめておきます。 対処方法の一覧 対処方法1:ゲームのインストーラは使わずにゲームが入っているメディア(FD・CD)から直接コピーする 対処方法2:古い環境でゲームをセットアップして内容をコピーする 対処方法3:プログラムの「互換性」の設定をする 対処方法4:「DDrawCompat」でグラフィックス関連の互換性を上げる 対処方法5:「_inmm.dll」でCD音源を再生できるようにする 対処方法6:64bit環境ならWOW64の仕組みをふまえて調整する ↓起動したゲームの例(ぷよぷよ通、バーチャファイターPC) 対処方法1:ゲームのインストーラは使わずにゲームが入っているメディア(FD・CD)から直接コピーする Windows95/98時代のゲームのインストーラは今のWindows 10でうまく動かなかったりします。 ゲームが入っているメディア(FD・CD)を見てみて、ゲームの実行プログラム(EXEプログラム)やゲームのファイルがそのまま見える状態ならコピーしてみましょう。 もしsetup.exeや内容がCABファイルで圧縮されているゲームはセットアップが必要でこの方法は使えません。 手順 1. ゲームが入っているメディア(FD・CD)をエクスプローラで開く 2. ゲームのプログラム(EXE)やDLLファイル、WAVやMIDファイル、TXTファイル、その他ファイルなどが沢山入っているフォルダがあるか確認する 3. 見つかったらCドライブにゲーム名のフォルダを作り、中身をコピーする 4. ゲームのプログラム(EXE)を実行してみて動くか試してみます 対処方法2: 古い環境でゲームをセットアップして内容をコピーする 対処方法1ができないゲームはWindows XPなどの少し前のパソコンがあれば、そこにセットアップしたものをコピーする方法があります。 ただしファイルのコピーだけでは動かず、セットアップでレジストリに登録された内容もコピーする必要があるゲームもあります。 手順 1. 少し前のOSかゲーム要件にマッチするOSが動くパソコンを起動する 2. ゲームをそのパソコン...

Windows11 24H2から23H2にダウングレードする方法

Windows11 23H2のパソコンをWindows11 24H2にアップグレードしたあとに、23H2に戻す(ダウングレードする)方法です。 復元するには前提条件があるので確認してから対応してください。 前提条件 アップグレードしてから10日以内 Cドライブに「Windows.old」フォルダがある 対応方法 1. Windowsの「設定」を開きます。 2. 設定画面の左側の一覧から「システム」を開きます。 3. 右側の一覧でスクロールして「回復」をクリック。 4. 「回復オプション」の「復元」にある「戻す」をクリック。 5. 「以前のビルドに戻す」ウインドウが出るまで待ちます。 6. 「フィードバックを共有してください」と表示されたら、「次へ」をクリック。 7. 「アップデートをチェックしますか?」と表示されたら、「行わない」をクリック。 8. 「知っておくべきこと」と表示されたら、内容を確認して「次へ」をクリック。 9. 「ロックアウトされないようにご注意ください」と表示されたら、内容を確認して「次へ」をクリック。 10. 「このビルドをお試しいただきありがとうございます」と表示されたら、「以前のビルドに戻す」をクリック。 11. 復元が始まるので待ちます。(1時間程度) 12. ログイン画面になったらログインします。 対応後 復元が問題なく完了していればWindows11 23H2に戻っています。

32bitゲームを64bit環境で動かすWindowsの仕組みWOW64

Windowsで動くゲームは昔のWindows95/98用ゲームから始まり、ちょっと前のWindowsまで大半のゲームは32bitコードのプログラムです。 今のWindowsを64bit環境で使っている人が多いと思いますが、そのままでは32bitコードのプログラムは動きません。Windows側で「WOW64」というエミュレーションがされます。 WOW64を理解しておくことで昔のゲームを今のパソコンで動かせる可能性が高まります。 参考にしたWEBページ 32bitアプリを64bit Windows 7で動かす「WOW64」(ASCII.jp) 第2回 Win32アプリケーションを実行するWOW64(@IT) WOW64とは Windows 32bit On Windows 64bitの略。64bitのWindowsで32bitコードのプログラムを動かすエミュレーションの仕組みです。 CPU自体だとx86の64bit化自体は32bitとの互換性が高い状態で拡張されています。加えてWindows側は32bitコードのプログラムの互換性を維持するためにWOW64の仕組みが動いて対応します。 64bit環境で32bitコードのプログラムは以下のような動き、制限があります。 32bitコードのプログラム向けに32bitで扱える仮想メモリ空間が割り当てられる 32bitコードのプログラムと64bitコードのプログラムは1つのプロセス内に混在できない DLLも32bitコードのプログラムは32bitコードのDLLを呼び出す必要がある。32bitコードのプログラムから64bitコードのDLLを呼び出せない Windowsのシステムフォルダやレジストリは32bitコード用に用意されたものにアクセスするようにリダイレクトする 32bitのゲームを64bit環境で動かすときのポイント 古いゲームのインストール先は標準のProgam Filesフォルダにしない 64bit環境では64bitコードのプログラムは C:¥Program Files に、32bitコードのプログラムは C:¥Program Files(x86) にインストールされます。Program Files(x86)やProgram FilesフォルダはWindowsの管理下になっています。 Win95/98向けのような古いゲ...