2011-08-04

Google Music Beta での文字化け回避方法 (foobar2000)

本日使い始めて気づいたのですが、音楽ファイルのアップロードに使用するクライアントの、ID3タグ中の日本語(Shift_JIS)の扱いに難があるようです。

クライアントは幸いにもUTF-8/UTF-16は理解してくれるので、ID3v2.4またはID3v2.3でUnicodeを使うように作り直すと上手くいきます。

ID3v1ではUnicodeは使われないみたいなので、削除した方が良いように思います。

ID3v2でも必ずしもUnicodeしかありえないかというとそうでもなく、Shift_JISが入っている場合もあるみたいです。

foobar2000では、Rebuild MP3 streamはタグを変更しないので、行ってもShift_JISのまま変化しません。Tag typeでID3v2.3→ID3v2.4の変更をするとついでにUnicodeになるようなので、この機能が使えます。このあとさらにID3v2.3に戻してもOKでした。
参考: foobar200 FAQ - MP3 tags (ID3v2) added or modified by foobar2000 are not read or are read improperly in application X or portable player Y. What can I do?
> foobar2000 writes ID3v2.4 tags encoded as UTF-8 by default.

Album ArtistはTPE2方式にのみ対応しているようなので、foobar2000の設定のAdvancedのところでTPE2方式を使うようにしてから、Album Artistの入っているファイルのタグを更新してください。

MusicManagerに更新日時の変化していないファイルのタグを再読み込みさせるにはServerDatabase.dbを削除します。

Windowsの場合は
C:\Users\_USERNAME_\AppData\Local\Google\MusicManager\ServerDatabase.db
SQLite Database Browser などで開いて、Table: XFILESを覗くとアップロード終了を待たずに文字化け状況が確認できます。

2011/08/05 8:21 追記
上手く読めないファイルのID3タグをダンプしてよく調べたところ、だいぶ間違っていたので修正しました。