音楽を買うとき、いまだにCDで買ってしまう。
PCに取り込んでスマートフォンに転送してウォークマン的に聴くと同時にカーオーディオにも取り込みたい(カーオーディオが古くてCDからしか取り込めない!)ことが主な理由だが、何となくジャケットやブックレットもほしいという昭和な理由もある。

そして昭和世代の男性にありがちな、Sony教の信者でもあるため、スマートフォンは Xperia である。

以上、今回TIPSの前説。

購入したCDをPCに取り込んで Xperia のミュージックアプリに転送する際には、Sony謹製の転送ソフトは長らく「Media Go」というアプリを使っていた。
正直なところ多少古くささを感じるアプリではあったが、CDの取り込み、転送、曲名やアルバムカバーアートの自動取得など、必要機能は、一応揃ってはいた。

そして何時のころからか「Media Go」は引退し、新バージョンとして「Music Center for PC」を使えということになったのだが、「Music Center for PC」には Android スマートフォンへの転送機能は実装されていなくて、USB接続ストレージとして認識させたスマートフォンに、エクスプローラによるファイルコピーの要領で転送する方式に変わった。

このとき、AAC形式で取り込んだ音楽ファイルは拡張子が mp4 のままだと、スマホ側のミュージックアプリに認識されない。

ざっくり調査した結果としては、

  • Sony ミュージックアプリは、スマホ内の音楽ファイルを検索・認識する仕組みとして Android にあるメディアストレージという機構を利用している
  • 拡張子 mp4 は、メディアストレージに動画ファイルと認識され、音楽ファイルと認識されない。中身が同一のファイルでも、拡張子が m4a や aac であれば、音楽ファイルとして認識される

ということのようだ。

拡張子 mp4 のままでは、ミュージックアプリの設定でキャッシュ削除やストレージ削除をやっても問題は解決せず、メディアストレージアプリの設定でキャッシュ削除やストレージ削除しても同じく解決できない。

むしろメディアストレージ側を消すと、プレイリストや着信音&通知音が消えるという残念な結果になる。

メディアストレージに関する問題(認識されない或いは誤認識されるetc)は、他でも色々とトラブルがあるようで、ストアを覗くとメディアストレージを再スキャンするアプリがたくさんある。
が、再スキャンしたところで拡張子 mp4 のままでは結果は同じ。それどころか、動画として認識されてしまい、アルバムアプリに音楽ファイルが動画として真っ黒サムネイルで大量に表示されたり、散々な結果になることも。

解決策は表題の通りで単純。

MP4 規格の性格上、中身のデータは動画・音声・テキストと様々なので拡張子が mp4 だと判断に困るのは分かるけど、MP4ヘッダー情報を読んで判定くらいしてくれてもバチはあたらん気がするのだがね。

面倒なのは「Music Center for PC」でAAC形式でエンコードすると拡張子が mp4 固定になっているので、スマホにコピーする前にいちいち拡張子を m4a にリネームする必要がある。
※リネーム後に「Music Center for PC」上で再生したいときは後述するひと手間が必要。

というわけで、対処手順。

  1. 「Music Center for PC」でCDをAAC形式で取り込む。拡張子は mp4 になる
  2. 拡張子を mp4 から m4a に一括変換する。コマンドラインで、取り込んだアルバムのディレクトリに行き for /R %i in (*.mp4) do ren “%i” *.m4a とかやると楽。それをバッチファイルとかにしておくとより楽
  3. エクスプローラーD&DとかでUSB接続したスマホにコピー
  4. 拡張子を m4a に変換したファイルを「Music Center for PC」上で正しく認識させるにはいったんアルバム情報を削除(ストレージには残す)してから、フォルダーを指定して再度取り込む。「Music Center for PC」で音楽再生なんぞしないという場合はこの操作はやらなくてもOK

なお、拡張子は aac としてもミュージックアプリでは認識されるが、「Music Center for PC」では再生できなかった。

利用させて頂いている身分でアレだけど、色々と細かいところが残念よね Android と Sony のどっちも。

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required

two × 1 =

Trackback URL: