| ビットレート | データ量 |
|---|---|
| CBR (Constant Bit Rate) | 固定 |
| VBR (Variable Bit Rate) | 可変 |
| ABR (Average Bit Rate) | 平均 |
複数のステレオ符号化方式がサポートされる形式です。Joint stereo - Hydrogenaudio Knowledgebase
| フィールド | バイト数 | 説明 |
|---|---|---|
| head | 3 | つねに"TAG" |
| title | 30 | |
| artist | 30 | |
| album | 30 | |
| year | 4 | 4桁の年 |
| comment | 30 | |
| genre | 1 | ジャンル リストのインデックス |
| フィールド | バイト数 | 説明 |
|---|---|---|
| head | 3 | つねに"TAG" |
| title | 30 | |
| artist | 30 | |
| album | 30 | |
| year | 4 | 4桁の年 |
| comment | 28 | |
| null | 1 | つねに0とすることで、ID3v1と区別する |
| track | 1 | アルバムのトラック番号。ただし直前のバイトが0でなければ無効 |
| genre | 1 | ジャンル リストのインデックス |
v1とv1.1の相違はtrackフィールドを含むかどうかで、v1.1ではcommentフィールドを2バイト削って、そこにnullとtrackフィールドを割り当てています。
| Index | v1 | v1.1 |
|---|---|---|
| 1 | head | |
| … | … | |
| 125 | comment | |
| 126 | comment | null |
| 127 | comment | track |
| 128 | genre | |
たとえば次のデータは、
54 41 47 54 49 54 4C 45 00 00 00 00 00 00 00 00 T A G T I T L E . . . . . . . . 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 . . . . . . . . . . . . . . . . 00 41 52 54 49 53 54 00 00 00 00 00 00 00 00 00 . A R T I S T . . . . . . . . . 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 . . . . . . . . . . . . . . . A 4C 42 55 4D 00 00 00 00 00 00 00 00 00 00 00 00 L B U M . . . . . . . . . . . . 00 00 00 00 00 00 00 00 00 00 00 00 00 32 30 30 . . . . . . . . . . . . . 2 0 0 30 43 4F 4D 4D 45 4E 54 00 00 00 00 00 00 00 00 0 C O M M E N T . . . . . . . . 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 02 . . . . . . . . . . . . . . . .
下表の内容を表します。
| データ | フィールド | 内容 |
|---|---|---|
| 54 41 47 | ヘッダ | 'TAG' |
| 54 49 54 4C 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | タイトル | 'TITLE' |
| 41 52 54 49 53 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | アーティスト | 'ARTIST' |
| … |
ファイルの最初の10バイトに、下表のヘッダが付きます。
| フィールド | バイト数 | 説明 |
|---|---|---|
| file identifier | 3 | つねに"ID3" (49 44 33) で、これがID3v2タグであることを示す |
| version | 2 | 1バイト目がメジャー番号で、2バイト目がリビジョン番号。03 00ならば、ID3v2.3.0を意味する |
| flags | 1 | ビットごとに意味が異なる
|
| size | 4 | タグ ヘッダ以外のサイズ。それぞれのMSB (最上位ビット) はつねに0であるため、実質28ビットで表す |
フレームの出現順に規則はなく。個々のフレームの最初の10バイトに下表のヘッダが付きます。
| フィールド | バイト数 | 説明 |
|---|---|---|
| Frame ID | 4 | フレームの種類 |
| Size | 4 | フレーム ヘッダ以外のサイズ |
| Flags | 2 |
2バイトで表され、それぞれのビットabc00000 ijk00000には、次の意味があります。
フレームの種類ごとに定義されています。
個々のフレームの最大サイズは16MBです。ID3v2Easy - ID3.org
"T"から始まるFrame IDを持ちます。
| ID | 内容 |
|---|---|
| TALB | アルバム |
| TPE1 | アーティスト |
| TPE2 | アルバム アーティスト |
| TPOS | ディスク番号 |
| TCON | ジャンル |
| TIT2 | タイトル |
| TRCK | トラック |
| TYER | 年 |
<Header for 'Text information frame', ID: "T000" - "TZZZ", excluding "TXXX" described in 4.2.2.> Text encoding $xx Information <text string according to encoding>4.2. Text information frames - id3v2.3.0 - ID3.org
最初の1バイトはテキストのエンコーディングを表し、その値によって次の意味となります。
<Header for 'Comment', ID: "COMM"> Text encoding $xx Language $xx xx xx Short content descrip. <text string according to encoding> $00 (00) The actual text <full text string according to encoding>4.11. Comments - id3v2.3.0 - ID3.org
言語はISO 639-2のコードで表され、たとえば次のデータは、
43 4f 4d 4d 12 00 00 00 00 00 01 65 6e 67 ff fe 00 00 ff fe 54 00 45 00 53 00 54 00
下表の内容を表します。
| データ | フィールド | 内容 |
|---|---|---|
| 43 4f 4d 4d | Frame ID | 'COMM' |
| 12 00 00 00 | Size | 18 (0x12) |
| 00 00 | Flags | |
| 01 | Text encoding | |
| 65 6e 67 | Language | 'eng' (English) ISO 639-2 Language Code List |
| ff fe 00 00 | Short content descrip | '' |
| ff fe 54 00 45 00 53 00 54 00 | The actual text | 'TEST' |
<Header for 'Synchronised lyrics/text', ID: "SYLT"> Text encoding $xx Language $xx xx xx Time stamp format $xx Content type $xx Content descriptor <text string according to encoding> $00 (00)4.10. Synchronised lyrics/text - id3v2.3.0 - ID3.org
歌詞はContent descriptorに、次の形式で格納されます。
Terminated text to be synced (typically a syllable) Sync identifier (terminator to above string) $00 (00) Time stamp $xx (xx ...)
これを用いると非同期歌詞の、
"Strangers in the night" $0A "Exchanging glances"
は、次の形式となります。
"Strang" $00 xx xx "ers" $00 xx xx " in" $00 xx xx " the" $00 xx xx " night" $00 xx xx 0A "Ex" $00 xx xx "chang" $00 xx xx "ing" $00 xx xx "glan" $00 xx xx "ces" $00 xx xx
たとえば次のデータは、
49 44 33 03 00 00 00 00 10 19 54 41 4C 42 00 00 I D 3 . . . . . . . T A L B . . 00 0D 00 00 01 FF FE 41 00 4C 00 42 00 55 00 4D . . . . . . . A . L . B . U . M 00 54 50 45 31 00 00 00 0F 00 00 01 FF FE 41 00 . T P E 1 . . . . . . . . . A . 52 00 54 00 49 00 53 00 54 00 54 50 45 32 00 00 R . T . I . S . T . T P E 2 . . ...
下表の内容を表します。
| データ | フィールド | 内容 |
|---|---|---|
| 49 44 33 | タグの識別子 | 'ID3' |
| 03 00 | タグのバージョン | ID3v2.3.0 |
| 00 | タグのフラグ | なし |
| 00 00 10 19 | タグのサイズ | 2073 (0x819) バイト
0b0001000000011001 (0x1019) のMSBを除くと、0b00100000011001 (0x819) の意味であるため |
| 54 41 4C 42 | フレームのID | 'TALB' |
| 00 00 00 0D | フレームのサイズ | 13 (0x0D) バイト (フレーム ヘッダを除く) |
| 00 00 | フレームのフラグ | なし |
| 01 | フレームのエンコーディング | Unicode |
| FF FE | フレームのBOM | UTF-16LE |
| 41 00 4C 00 42 00 55 00 4D 00 | フレームの内容 | 'ALBUM' |
| 54 50 45 31 | フレームのID | 'TPE1' |
| … |
v2.3よりテキストのエンコーディングが拡張され、以下の4つとなっています。id3v2.4.0-structure - ID3.org