Raspberry Pi 運用・管理
Volumio
プレイリスト 日本語の文字化け
Volumio
プレイリスト 日本語の文字化け
「NAS」の【mp3】フォルダを選択してプレイリストを作成すると、日本語が文字化けする。
以下、文字化けの原因と解決策を記録。
スポンサー リンク
目 次
1. 文字化けの状況
Volumio の「Sources」に NASドライブ を設定し、「音楽ライブラリ」から「NAS」の【mp3】フォルダを選択して、プレイリストを作成している。
全てのファイルが文字化けするのでは無く、正しく表示されるファイルもある。
補足:タイトル名の前にある「n - 」はトラック番号で、Volumio が自動で付加しており、トラック番号がなければ付加はされない。
■ タグが【ID3v1(ID3v1)】のファイルは、文字化けしている。
■ タグが【ID3v2.3 (ID3v1 IDV3v2.3)】のファイルは、「正しく表示されているもの」と「文字化けしているもの」が混在している。
■ タグが【ID3v2.3 (ID3v1 IDV3v2.3)】のファイルは、「正しく表示されているもの」と「文字化けしているもの」が混在している。
2. mp3ファイルの構造
以下、mp3(MPEG Audio Layer 3)ファイルの構造(フォーマット)を調査。
【ID3v1(ID3v1)】ファイルの構造
ファイルの末尾に ”TAG” という文字が現れ、 ID3v1 タグが配置されている。
この ID3v1 タグに、曲名・歌手名・アルバム名などが【Shift_JIS】で記述されている。
Volumio のプレイリストには、アーティスト名の「aiko」は英数字なので表示されているが、曲名・アルバム名などの【Shift_JIS】は文字化けしている。
【ID3v2.3 (ID3v1 IDV3v2.3)】ファイルの構造
【ID3v2.3 (ID3v1 IDV3v2.3)】ファイルは、
・ファイルの先頭に【ID3v2】タグを配置し、
・ファイルの末尾に【ID3v1】タグを配置して、
この間に【MPEG Frame】をサンドウィッチする構造になっている。
・ファイルの先頭に【ID3v2】タグを配置し、
・ファイルの末尾に【ID3v1】タグを配置して、
この間に【MPEG Frame】をサンドウィッチする構造になっている。
ファイルの先頭に ”ID3” という文字が現れ、 【ID3v2】タグが配置され、ファイルの末尾に ”TAG” という文字があり、 ID3v1 タグが配置されている。
【ID3v2.3】タグには、アーティスト名・曲名・アルバム名が【Shift_JIS】で記述されている。
尚、文字化けしている「森山直太朗-さくら (独唱) ID3v2.3 (ID3v1 IDV3v2.3)」の末尾にある【ID3v1】タグは、値が全て “20” NULL になっている。
【ID3v2.3】タグには、曲名が【UTF-16】で記述されており、アルバム名は英数字で、アーティスト名のフレームは無い。
ここに、演奏者やアーティスト名が【UTF-16】で記述されていた。
この ID3v1 タグには、曲名・歌手名が【Shift_JIS】で記述されており、アルバム名と年は英数字となっている。
上記の結果からの推測。
①.【ID3v1(ID3v1)】ファイルの【ID3v1】タグは、
【Shift_JIS】で記述されている。
②.【ID3v2.3 (ID3v1 IDV3v2.3)】ファイルの【ID3v2】タグは、
【Shift_JIS】か【UTF-16】で記述されている。
③.【Shift_JIS】のタグは文字化けするが、【UTF-16】のタグならOK。
【Shift_JIS】で記述されている。
②.【ID3v2.3 (ID3v1 IDV3v2.3)】ファイルの【ID3v2】タグは、
【Shift_JIS】か【UTF-16】で記述されている。
③.【Shift_JIS】のタグは文字化けするが、【UTF-16】のタグならOK。
結論:日本語を正しく表示するには、MP3ファイルを・・・。
【ID3v2.3 (ID3v1 IDV3v2.3)】タグにし、
エンコードを【UTF-16】で記述する。・・・必要がある。
エンコードを【UTF-16】で記述する。・・・必要がある。
3. ID3v2 の フレームID と UTF-16 について
エンコーディングについて。
00:ISO-8859-1
01:BOMありUTF-16
※:ISO-8859-1と称して、Shift-JISが埋め込まれる例(Windows系)が多い。
01:BOMありUTF-16
※:ISO-8859-1と称して、Shift-JISが埋め込まれる例(Windows系)が多い。
テキストの前に「FF FE」を付ける【UTF-16LE】パターンが使われている。
4. タグを【ID3v2.3 の UTF-16】に変換
【Mp3tag】を使って、全ての mp3ファイルのタグを【ID3v2.3 の UTF-16】に変換して見る。
【ID3v2.3】タグが作成され、アルバム名・アーティスト名・ジャンル・曲名等、全てのフレームのコンテンツが【UTF-16】で設定された。
・【ID3v2.3】タグ内のフレームが、先頭に集められた。
・【ID3v1】タグに変化はない。
・【ID3v1】タグに変化はない。
変換前には先頭になかったフレームが先頭に集められ、日本語のコンテンツは【UTF-16】で、英数字のコンテンツは【ISO-8859-1】で設定されている。
このケースでも【ID3v2.3】タグ内のフレームが先頭に集められ 、【ID3v1】タグには変化なし。
同じく、変換前には見当たらなかったフレームが先頭に集められ、コンテンツは【UTF-16】のままで、変更はされていない。
5. Volumio プレイリストの再作成
文字化けしているプレイリストは削除しておく。
参考:Volumio に Synology NAS を接続。
以上。
(2022.06.30)
(2022.06.30)
スポンサー リンク