MP3ファイルの中に、アーティスト・作成年・曲名などの情報を書き込むための規格である。
- タイトル
- アーティスト名
- 説明
- アルバム名
- トラック番号
- 年
- メディアソースのパス
- サンプリングレート
- チャンネル数
- 属性
ID3には、いくつかのバージョンが存在する。
ID3v1はファイルの末尾に、ID3v2はファイルの先頭に書かれるため、同時に1つのファイルに含めることができる。
最も広く対応されている形式である。
サイズは128バイト固定で制限が厳しいため、多くの情報は記録できない。
文字列には日本語を使用できるが、文字コードに関する定義がなく、プラットフォームをまたぐ際に互換性に問題あり。
offset |
長さ |
記述 |
0 |
3 |
"TAG" の識別子3文字 |
3 |
30 |
曲名文字列 |
33 |
30 |
アーティスト文字列 |
63 |
30 |
アルバム文字列 |
93 |
4 |
日付文字列 |
97 |
30 |
コメント文字列 |
127 |
1 |
Genre byte |
offset |
長さ |
記述 |
0 |
3 |
"TAG" の識別子3文字 |
3 |
30 |
曲名文字列 |
33 |
30 |
アーティスト文字列 |
63 |
30 |
アルバム文字列 |
93 |
4 |
日付文字列 |
97 |
28 |
コメント文字列 |
125 |
1 |
Zero byte separator |
126 |
1 |
Track byte |
127 |
1 |
Genre byte |
ID3v1.1を拡張、改良した形式である。
ID3v1のネックだった字数制限がほぼ無くなり、Unicodeのサポートなど非常に便利になっている。
タグを記録するときに増えるファイルサイズがID3v1より大きく、古いプレイヤーでは表示に対応していないものがある。
(v1からの主な変更点)
項目別のサイズ制限は16MB、全体のタグサイズ制限は256MBになった
記入できる項目の増加
Unicodeのサポート
画像が含められる(対応しているプレイヤーは少ない)
現在、ID3v2には「ID3v2.2」「ID3v2.3」「ID3v2.4」の3つがある。
例えば「ID3v2.3」というバージョン表記は、「ID3v2」という規格の「メジャーバージョン3」となる。
決して「ID3」の「バージョン2.3」ではない。
メジャーバージョン間の下位互換性は保証されていない。
例えば「ID3v2.3」をサポートするソフトウェアは、「ID3v2.4」のタグ情報は読み込めない。
サポートするメジャーバージョンより大きなバージョンのタグを読み込もうとする場合は、単純にタグ全体を読み飛ばすべきと記述されている。
各バージョン間の違いは、「ID3v2.2」から「ID3v2.3」に変更された時に、フレームIDが3桁から4桁に増えている。
メジャーバージョン2と3では、フレームIDに互換性がなくなっている。
「ID3v2.3」から「ID3v2.4」に変更されたとき、メジャーバージョン4からは文字コードとしてUTF-8のサポートが追加された。
(ID3v2.4以前のユニコード対応は、UTF-16のみ)
現在最も普及しているバージョンは「ID3v2.3」である。
最新バージョンの「ID3v2.4」は、一部の改訂箇所に不同意があり、ソフト・ハードウェア市場が対応しないため、普及に至っていない。
ID3v2タグはファイルの先頭に配置され、「ID3v2ヘッダ」、「拡張ヘッダ」、「フレーム(複数)」、「パディング領域」の4領域から構成され、この順に並んでいる。
<ID3v2ヘッダ>
offset |
長さ |
記述 |
0 |
3 |
"ID3" のマジックナンバー3文字 |
3 |
2 |
バージョン |
5 |
1 |
フラグ |
6 |
4 |
サイズ |
計10バイトで、サイズは各バイトの最上位ビットが無効で、有効な値は28ビットとなる。
<拡張ヘッダ>
offset |
長さ |
記述 |
0 |
4 |
この拡張ヘッダのサイズ |
4 |
2 |
拡張フラグ |
6 |
4 |
パディング領域のサイズ |
<各フレーム>
offset |
長さ |
記述 |
0 |
4 |
フレームID(種別1バイト+ネーム3バイト) |
4 |
4 |
フレームサイズ |
8 |
2 |
フラグ |
10 |
可変長 |
フレームデータ |
最終更新:2013年09月29日 18:33