18 February 2011

MP3 ID3タグの文字エンコードはUTF-16がよいらしい

MP3 ID3タグの文字エンコードがShift-JISの場合、Linuxのメディアプレーヤ(RhythmboxやTotemなど)で文字化けが起こって表示されない。

Googleで先人の経験を調べると、

・ID3 version 1 タグは削除する
・ID3 version 2 タグは version 2.3 を指定する
・文字エンコードはUTF-16

とするのがよいらしい。ID3タグについてはWikipedia『ID3タグ』に詳しく書かれている。

AppleのiOS(iPodなど)やGoogleのAndroidなど、米国発のグローバルスタンダード製品が日本製品を次々と駆逐していく中で、そろそろ保有しているMP3ファイルも脱日本(脱Shift-JIS)を図っていったほうがよいと思う今日この頃。

■ (Linux) EasyTagでの設定

20110218-easytag-setup.jpg
設定ダイアログでの設定例

・ID3v2 の設定を ID3v2.3 を選択、Unicode(UTF-16) を選択する。
・ID3v1 のチェックを外す

■ (Windows) STEPでの設定

20110218-step.jpg
オプション ー プラグイン設定 ー MP3設定

・ID3v2の形式 : v2.3, UTF-16
・ID3v1を削除(上の画面のダイアログの、左側のタブ内)

■ (Linux)メディアプレーヤ上での状況

20110218-rhythmbox.jpg
Ubuntu 10.04の標準メディアプレーヤRhythmbox

Shift-JISの部分は文字化けしている


20110218-xbmc.jpg
xbmc

Shift-JISであっても正しく認識するプログラムも存在する


■ (Windows) Windows Media Player

20110218-wmp.jpg
Windows Media Player

Windows上のメディアプレーヤは、大抵の場合Shift-JISを正しく認識して表示できる。(逆に、標準規格であるUTF-16の場合に、文字化けするメディアプレーヤも存在する)

■ 規格
Wikipedia英語版『ID3』によれば、

ID3v2 ...
The internationalization problem was solved by allowing the encoding of strings not only with ISO-8859-1, but also with UTF-16.

ということで、ISO-8859-1 (ASCII) または UTF-16 が決まりごとのようだ。

■ 参考資料
MP3 ID3 文字コード関係を仕様書にあたってみる
mp3のID3タグについて
MP3のタグの設定を考える
RhythmboxでのMP3 ID3タグ文字化け
(環境変数に GST_ID3_TAG_ENCODING='CP932' を追加することで、SJIS表示も出来るという回避手段が書かれている)