魂の避難所 -パソコン関連トラブル解決メモ-
ホーム > スポンサー広告 > 自分用メモ mp3のID3タグについてホーム > PC音楽Tips(可逆/mp3など) > 自分用メモ mp3のID3タグについて

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサードリンク

[ --/--/-- ] スポンサー広告 | TB(-) | CM(-) | [EDIT]

ふと思いついて手持ちのmp3のID3タグ(曲名などの情報)のバージョンと文字エンコードを調べてみた。
見事にバラバラだった。なぜバラバラなのか。
それは、EAC+lame、foobar2000、iTunes、ひろいもの、ようつべニコニコ音声ぶっこぬき…と入手経路がバラバラだから(汗)。
私は、メインはiPod転送用にiTunes、サブにfoobar2000を使っているので、両方で正常に表示できて、アートワークはiTunesでつけるというのがタグ付けの基本コンセプトである。


スポンサードリンク

とりあえず、確認に使用したのは以下のソフト。定番。
STEP 〈SuperTagEditor改 Plugin Version (Nightmare)〉
http://hp.vector.co.jp/authors/VA012911/STEP/step.html
mp3infp
http://win32lab.com/fsw/mp3infp/

iTunes/foobar2000が認識するID3タグ、優先順位


一般的にmp3のタグは、主にID3v1、ID3v2と2種類の形式で情報が記録されている。

iTunesが認識するID3タグは、
v1またはv2のみの場合はそれぞれのみを、混在している場合はv2を優先して読み書きする。
一方、foobar2000が認識するID3タグは
ApeTagv2 > ID3v2 > ID3v1 という優先順位になっている。混在している場合は優先度が高いタグのみを読み込む。
注意したいのは、MP3Gainを使っている場合、音量関係の設定を書き込むタグはApeTagv2である事だ。ApeTagv2に入力があるといくらID3v2をいじっても反映してくれない!(コレにハマって四苦八苦した)

また、iTunes上では曲名が入っているのにSTEPで開くとv1・v2ともに空白の場合がある。
なぜこんなことになるのかというと、
曲名が空白のmp3をiTunesに登録すると、とりあえずファイル名を曲名として読み込むが、それをv1/v2に登録してくれるわけではないからだ。
それで問題なかった場合、そこは編集しないからv1/v2はずっと空白のまま。
この場合、iTunes独自のデータベースファイルのほうに記録されてるっぽい?
曲名を編集してやると、v2に曲名がちゃんと入る。

各ソフトがはき出すデフォルトのID3タグのバージョンと文字コード


・iTunesでCDをmp3にエンコード
   …デフォルトはID3v2.2(UTF-16)、最近のバージョンだとID3v2.4(UTF-8)かな。タグバージョンの変換は可能
・EAC+lame
   …設定による。(ID3v1.1+ID3v2.3(ISO-8859-1)、ID3v2.3(UTF-16)のみも可能
・foobar2000+lame
   …デフォルトはID3v1.1+ID3v2.4(UTF-8)、設定次第でID3v1.1+ID3v2.3(UTF-16)やID3v2.3(UTF-16)のみも可能
・ひろいもの
   …作った人の環境による。統一するならアートワークをつける前に変換する
・ようつべなどから音声を抽出したmp3
   …抽出元に依存する? CravingExplorerでmp3を抽出したらID3v2.4(UTF-8)。それをiTunesでタグ付けするとID3v2.4(UTF-16)に変化した。←それっておかしいだろ!ID3v2.4はUTF-8でしょ。

非同期化 って何よ?


たま~にアタマの固いプレイヤー(投げ売りしている安いやつとか、独自の転送ソフトを使うやつとか)はタグがID3v1しか対応してなかったりする。
そんなプレイヤーに対して、ID3v2を間違って読み込まないように騙す処理を「非同期化(Unsync)」という。(技術的なことはよく分からない)
しかし、この「非同期化」がiTunesと相性悪いらしい。
なので、iTunes使いの人は、非同期化を行わないほうが安全。

STEPでタグ編集する前に、
[オプション] → [プラグイン] → SETP_mp3を選択 → [設定] → [その他]タブ
 バージョンは「v2.3」
 文字エンコードは「UTF-16」
 非同期化関連のチェックボックスがあるところは、両方ともチェックを入れる。

mp3infpならば、右下の「Unsync」のチェックを外す。

結論・バージョン・文字エンコードは何が最適か


iTunesでメインの管理するのなら、無難なのはID3v1.1+ID3v2.3(UTF-16)。
できればv1を削除してしまって
ID3v2.3(UTF-16)オンリーが一番シンプルなのではないか。
なお、foobar2000のデフォルトであるID3v2.4(UTF-8)タグをiTunesで読み込むと不要な文字がつくこともあるらしい。

問題発生!バージョン&文字コードを変換するとアートワークが壊れる


既にアートワークをiTunesでつけてしまったmp3をSTEPでバージョン&文字コード変換すると、アートワークが消えたり壊れたりしてしまう。困った。
【実験】
STEP、mp3infpで「非同期化」を行わない設定にした状態でも
・バージョン&文字コードを変換したらアートワークが壊れた。 v2.4(UTF-8)→v2.3(UTF-16)
・バージョン、文字コードは変えずにタグ編集のみをしたらアートワークは無事。
・iTunesの「mp3タグの変換」で2.4→2.3に変換するとアートワークは保護されるが、文字コードが不明になった。(mp3infpで文字エンコードが空欄になる)
それをSTEP、mp3infpで文字コードをUTF-16にしたらアートワークが壊れた。
・アートワークを一旦iTunes上で削除して、STEPで変換して、再度アートワークをつけても再生すると壊れてしまう。

結論。
iTunesアートワークつきのmp3のバージョンや文字コードを変換するとアートワークが消えたり壊れてしまう。
曲名などを変える程度なら問題ないが、バージョンや文字コードを変換するのは危険。
アートワークがぶっ壊れて直らなくなってしまう。

mp3をID3v2.3で書き出す場合の各ソフトの設定


ID3v1を付与せず、ID3v2.3(UTF-16)タグのみをmp3に書き出す設定メモ。

◆EAC+lame
EACエンコードオプション設定
エンコードに外部プログラムを使用する オン
エンコーダ別パラメータ選択 「ユーザー定義エンコーダー」選択
使用する拡張子 「.mp3」と入力
エンコードに使用するプログラムのパスを指定
ID3タグを追加 = オフ

コマンドラインオプション追加
CBR192、ID3v2.3(ISO-8859-1)のみ 曲タイトル、アーティスト、アルバム、年、トラック番号をつける場合。
-b 192 --id3v2-only --pad-id3v2 --tt "%t" --ta "%a" --tl "%g" --ty "%y" --tn "%n" %s %d

◆foobar2000+lame
File - preferences - Advanced - Tagging - MP3

Preffered Tag Writing Scheme を「ID3v2」にチェック
ID3v2 Writer Compatibility Mode...にチェック

lameのパラメーターは
-b 192 - %d

WS000006.jpg

◆iTunes
iTunesでエンコせず、外部エンコーダ(LAMEなど)を使ってmp3にエンコードする。
次に、STEP等でID3v2.3(UTF-16)のみに変換。タグ入力。
iTunesライブラリに登録し、アートワークをつける。

◆ひろいものもらいもの
STEP等でバージョン・文字エンコードを調べ、ID3v2.3(UTF-16)のみに変換。
iTunesライブラリに登録、アートワークをつける。

【追記】
ひろいものもらいものは、v2.4だったら無理してv2.3に変換しない方が吉。
関連記事はコチラ↓
iPodの曲が勝手にスキップしてしまう | Refuge
関連記事

スポンサードリンク

コメントの投稿












管理者にだけ表示を許可する
トラックバック
スポンサードリンク
twitter
スポンサードリンク


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。