ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
mp3ファイルに、曲タイトルやアーティスト名などの付加情報を記録するためのメタデータ規格の一つ。
現在までに登場したID3v2のバージョンは、次のとおりである。
なお、ID3v2.2と、ID3v2.3/ID3v2.4の間には、何一つ互換性がない。その上、ID3v2.3とID3v2.4の間にさえ、非互換な仕様差がある。仕様書において、バージョン間の互換性は保証されない旨記載があり、このように後方互換を一切考慮していないため、新バージョンが登場するたびに新規に対応する必要が生じる。
なお、バージョンの考え方は、ID3v2のバージョン2や3や4であって、ID3のバージョン2.2や2.3や2.4などではない、とする論説もある。実際、ID3v2のメタデータ内に記載されるのは3や4といった値のみであるが、しかしID3v2の公式サイトには「ID3 version 2.3」や「version, 2.4」という記述があるため、以前は不明だが、現在ではID3のバージョン2.3などと考えても差し支えはないと思われる。
Windows Media PlayerはID3v2.3に対応し、長くv2.4に対応していなかったが、どうやらWindows Media Player 12 からID3v2.4にも対応したようである。
iTunesは以前はID3v2.2、現在はID3v2.4に対応しているようである。
ID3v1の問題だった文字数の制限を撤廃し、更に様々な情報の付加を可能とした。
Unicodeに対応し、画像や歌詞情報などの格納も可能となっている。
同様の拡張として、ID3v2とは別に日本のYunasoftが提唱したrmp(RIFF MP3)というものもある。
rmpはRIFF形式にした仕様だったが、デジュリスタンダードを目指したID3v2には普及数では勝てず、対応するソフトウェアはあまり存在しない。日本製のソフトウェアでは、双方に対応するものもある。
なお、ID3v1とIDv2、あるいはID3v1とrmpは共存できるが、ID3v2とrmpは共存できない。
ID3v1のメタデータは末尾だったが、ID3v2は先頭に情報が付加される。
全体として、概ね次の順序でデータは格納される。
以降、ID3v2ヘッダー内の数値は全てビッグエンディアンである。
サイズの表現が特殊で、synchsafe整数値である。万が一8ビットを通さない処理系に入ったとしても安全なように配慮したためと思われる。
フラグの機能は次の通り。
ID3v2サイズは、ID3v2ヘッダーのサイズを除く、それ以降の全体長を表わす。
ID3v2ヘッダー内フラグのビット6=1の場合、拡張ヘッダーが存在する。滅多に使われない。
サイズは、ID3v2.3では普通の整数だが、ID3v2.4ではsynchsafe整数であり互換性がない。
拡張フラグの機能は次の通り。
ビット15=1の場合、この後にCRC-32データ4バイトが付加される。
ID3v2では、各データはフレームと呼ばれるチャンク形式で格納される。2.2と2.3以降で互換性がない。
サイズは、実データサイズのみで、フレームヘッダー長は含まない。
フレームIDはASCIIで大文字のA‐Zと0‐9の文字を用いて命名する。ただし先頭の文字がX/Y/Zは、特殊な用途に使う。
サイズは、実データサイズのみで、フレームヘッダー長は含まない。ID3v2.3では普通の整数だが、ID3v2.4ではsynchsafe整数であり互換性がない。
よく使われるフレームIDは次の通り。ID3v2.2は3バイト、ID3v2.3(ID3v2.4も同じ)は4バイトである。
2.2 | 2.3 | 用途 |
---|---|---|
TP1 | TPE1 | アーティスト名 |
TAL | TALB | アルバム名 |
TYE | TYER | 年 |
COM | COMM | コメント |
TRK | TRCK | トラック |
TCO | TCON | ジャンル |
PIC | APIC | アルバム画像 |
以下、ID3v2.3とID3v2.4の仕様書に存在する全てのフレームIDである(ABC順)。(2.4) はID3v2.4で追加されたものを表わし、(2.3) はID3v2.4で削除されたものを表わす。
フレームのうち、文字列を格納するものは、最初の1バイトでエンコーディングを指定する。
このバイトに続いて実際の文字列が格納される。各符号におけるNUL末端で終端できるが、フレームヘッダーで長さは明確なので、NULは書かなくてもよい。
日本国内向けの古いソフトウェアは、エンコーディング=0x00 としてシフトJISを格納するものが多く見られたが、これはフォーマット違反である。
ID3v2の直後に、実際のMPEGフレームが続く。MPEGフレームは、0xFF 0xFB から始まる。
ID3v2とID3v1は併用可能なため、必要に応じて末尾にID3v1を付けることもできる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます