ID3タグ

ウィキペディアから無料の百科事典

ID3
マジック
ナンバー
ID3 (ID3v2の場合)
開発者Eric Kemp(ID3v1.0)、Michael Mutschler(ID3v1.1)、Martin Nilsson 他(ID3v2 系)
ウェブサイトhttps://id3.org/

ID3タグ(アイディースリータグ、ID3 tag)は、MP3ファイルの中に、アーティスト・作成年・曲名等の情報を書き込むための規格である。

概要[編集]

ID3タグはMP3ファイルに元々組み込まれていた仕様ではなく、1996年に公開された「Studio3」というソフトウェアに組み込まれたのが始まりである。以後、様々なバージョンの規格が作られた。

ID3を追加したり、書き換えたりするソフトウェアはいくつか存在する。代表的な物はWinamp、SuperTagEditorシリーズ、mp3infpMp3tag等。

バージョン[編集]

ID3はいくつかのバージョンが存在する。このうち、ID3v1はファイルの末尾に、ID3v2はファイルの先頭に書かれるため、同時に1つのファイルに含めることができる。

ID3v1[編集]

もっとも広く対応されている形式。サイズは128バイト固定で制限が厳しいため、多くの情報は記録できない。 文字列には日本語を使用することができるが、文字コードに関する定義がないため、プラットフォームをまたぐ際に互換性の面で問題が生じることがある。

ID3v1 形式
開始位置 長さ 説明
0 3 “TAG” の識別子3文字
3 30 曲名文字列
33 30 アーティスト文字列
63 30 アルバム文字列
93 4 年文字列
97 30 コメント文字列
127 1 ジャンル番号

ID3v1.1[編集]

v1 のコメントを 2 バイト短縮し、トラック番号を記録できるようにした形式。 短縮した 2 バイトのうち、先の 1 バイトには必ず 0 (NULL) を格納し[1]、残りの 1 バイトにトラック番号を記録する。 仕様上、v1 形式で 29 バイト以上のコメントが入力されたファイルとの互換は完全には保てず、 トラック番号を記録して v1.1 形式に移行した時点でコメントの 29 、30 バイト目のデータが消失する。

ID3v1.1 形式
開始位置 長さ 説明
0 3 “TAG” の識別子3文字
3 30 曲名文字列
33 30 アーティスト文字列
63 30 アルバム文字列
93 4 年文字列
97 28 コメント文字列
125 1 0 (NULL) が格納される[1]
126 1 トラック番号
127 1 ジャンル番号

ジャンル番号一覧[編集]

80番以降はWinampで定義されたもの

# ジャンル名
0 Blues
1 Classic Rock
2 Country
3 Dance
4 Disco
5 Funk
6 Grunge
7 Hip-Hop
8 Jazz
9 Metal
10 New Age
11 Oldies
12 Other(その他)
13 Pop
14 R&B
15 Rap
16 Reggae
17 Rock
18 Techno
19 Industrial
20 Alternative
21 Ska
22 Death Metal
23 Pranks英語版
24 Soundtrack
25 Euro-Techno
26 Ambient
27 Trip-Hop
28 Vocal
29 Jazz-funk
30 Fusion
31 Trance
32 Classical
33 Instrumental
34 Acid
35 House
36 Game
37 Sound Clip英語版
38 Gospel
39 Noise
40 Alt. Rock
41 Bass
42 Soul
43 Punk
44 Space英語版
45 Meditative
46 Instrumental pop
47 Instrumental rock英語版
48 Ethnic
49 Gothic
50 Darkwave英語版
51 Techno-Industrial
52 Electronic
53 Pop-folk
54 Eurodance
55 Dream
56 Southern Rock
57 Comedy
58 Cult
59 Gangsta
60 Top 40
61 Christian Rap
62 Pop/Funk
63 Jungle
64 Native American
65 Cabaret
66 New Wave
67 Psychedelic
68 Rave英語版
69 Showtunes
70 Trailer
71 Lo-Fi
72 Tribal英語版
73 Acid Punk
74 Acid Jazz
75 Polka
76 Retro
77 Musical
78 Rock & Roll
79 Hard Rock
# ジャンル名
80 Folk
81 Folk-Rock
82 National Folk英語版
83 Swing
84 Fast Fusion
85 Bebob
86 Latin
87 Revival
88 Celtic
89 Bluegrass
90 Avantgarde
91 Gothic Rock
92 Progressive Rock
93 Psychedelic Rock
94 Symphonic Rock
95 Slow Rock
96 Big Band
97 Chorus
98 Easy Listening
99 Acoustic
100 Humour
101 Speech
102 Chanson
103 Opera
104 Chamber Music
105 Sonata
106 Symphony
107 Booty Bass
108 Primus
109 Porn Groove
110 Satire
111 Slow Jam
112 Club
113 Tango
114 Samba
115 Folklore
116 Ballad
117 Power Ballad
118 Rhythmic Soul
119 Freestyle
120 Duet
121 Punk Rock
122 Drum Solo
123 A capella
124 Euro-House
125 Dance Hall
126 Goa
127 Drum & Bass
128 Club-House
129 Hardcore
130 Terror
131 Indie
132 BritPop
133 Afro-punk
134 Polsk Punk
135 Beat
136 Christian gangsta rap
137 Heavy Metal
138 Black Metal
139 Crossover
140 Contemporary Christian
141 Christian Rock
142 Merengue
143 Salsa
144 Thrash Metal
145 Anime
146 JPop
147 Synthpop
148 Abstract
149 Art Rock
150 Baroque
151 Bhangra
152 Big beat
153 Breakbeat
154 Chillout
155 Downtempo
156 Dub
157 EBM
158 Eclectic
159 Electro
# ジャンル名
160 Electroclash
161 Emo
162 Experimental
163 Garage
164 Global
165 IDM
166 Illbient
167 Industro-Goth
168 Jam Band
169 Krautrock
170 Leftfield
171 Lounge
172 Math Rock
173 New Romantic
174 Nu-Breakz
175 Post-Punk
176 Post-Rock
177 Psytrance
178 Shoegaze
179 Space Rock
180 Trop Rock
181 World Music
182 Neoclassical
183 Audiobook
184 Audio theatre
185 Neue Deutsche Welle
186 Podcast
187 Indie-Rock
188 G-Funk
189 Dubstep
190 Garage Rock
191 Psybient

ID3v2[編集]

ID3v1.1を拡張、改良した形式。ID3v1のネックだった字数制限がほぼ無くなり、Unicodeのサポートなど非常に便利になっている。しかし、タグを記録するときに増えるファイルサイズがID3v1より大きかったり、古いプレイヤーでは表示に対応していないものがある。

v1からの主な変更点[編集]

  • 項目別のサイズ制限は16MB、全体のタグサイズ制限は256MBになった
  • 記入できる項目の増加
  • Unicodeのサポート
  • 画像が含められる

バージョン番号[編集]

現在、ID3v2には「ID3v2.2」「ID3v2.3」「ID3v2.4」の3つがある。仕様書[2]によれば、例えば「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のサポートが追加された(これ以前のユニコード対応はUTF-16のみ)。

ID3タグを制定している組織「ID3.org」によれば、現在最も普及しているバージョンは「ID3v2.3」である。最新バージョンとなる「ID3v2.4」は、一部の改訂箇所に不同意があったり、ソフト・ハードウェア市場がなかなか対応を行おうとしないため、いまだ普及に至っていない、と説明されている[3]

仕様[編集]

ID3v2タグはファイルの先頭に配置され、大まかに分けて、ID3v2ヘッダ、拡張ヘッダ、フレーム(複数)、パディング領域の4領域から構成され、この順に並んでいる。以下に各領域ごとの詳細を示す。v2.2はフレームIDが3桁であるなど一部異なる

ID3v2ヘッダ[編集]

計10バイト。サイズは各バイトの最上位ビットが無効であり、有効な値は28ビットとなる。 v2.2では圧縮方式が指定されていない為、圧縮されている場合データを読み取れない可能性がある。また、拡張ヘッダは存在しない。

オフセット 長さ 説明
0 3 “ID3” のマジックナンバー3文字
3 2 バージョン
5 1 フラグ
6 4 サイズ
ID3v2ヘッダのフラグ
オフセット 下位からのビット位置 説明
0 7 非同期処理がされているか
6 タグが圧縮されているか(v2.2)
拡張ヘッダが存在するか(v2.3以降)
5 タグが試験的なものか(v2.3以降)
4 フッタが存在するか(v2.4)
3~0 未使用
拡張ヘッダ[編集]
拡張ヘッダ(v2.3)
オフセット 長さ 説明
0 4 この拡張ヘッダのサイズ
4 2 フラグ
6 4 パディング領域のサイズ
10 可変長 拡張ヘッダのデータ
拡張ヘッダのフラグ(v2.3)
オフセット 下位からのビット位置 説明
0 7 CRCデータ有り
6~0 未使用
1 7~0 未使用
拡張ヘッダ(v2.4)
オフセット 長さ 説明
0 4 この拡張ヘッダのサイズ
4 1 フラグ長(常に1)
5 1 フラグ
6 可変長 拡張ヘッダのデータ
拡張ヘッダのフラグ(v2.4)
オフセット 下位からのビット位置 説明
0 7 未使用
6 以前のタグを更新したものか
5 CRCデータ有り
4 タグデータに制限を加えるか
3~0 未使用
フレームデータ[編集]
各フレーム(v2.2)
オフセット 長さ 記述
0 3 フレームID
3 3 フレームサイズ
6 可変長 フレームデータ
各フレーム(v2.3以降)
オフセット 長さ 記述
0 4 フレームID(種別1バイト+ネーム3バイト)
4 4 フレームサイズ
8 2 フラグ
10 可変長 フレームデータ
フレームのフラグ(v2.3)
オフセット 下位からのビット位置 説明
0 7 タグを書き替えたときにフレームを保持するか
6 タグ以外の部分が書き替えられたときにフレームを保持するか
5 フレームが読み取り専用か
4~0 未使用
1 7 zlibで圧縮されているか
6 グループIDがあるか
5 暗号化されているか
4~0 未使用
フレームのフラグ(v2.4)
オフセット 下位からのビット位置 説明
0 7 未使用
6 タグを書き替えたときにフレームを保持するか
5 タグ以外の部分が書き替えられたときにフレームを保持するか
4 フレームが読み取り専用か
3~0 未使用
1 7 未使用
6 グループIDがあるか
5~4 未使用
3 zlibで圧縮されているか
2 暗号化されているか
1 非同期処理されているか
0 データ長インジケーターがあるか
フレームID
ID Description Notes
AENC CRA Audio encryption
APIC PIC Attached picture
ASPI Audio seek point index v2.4で追加
COMM COM Comments
COMR Commercial frame
CRM Encrypted meta frame
ENCR Encryption method registration
EQU2 Equalization v2.4で追加
EQUA EQU Equalization v2.4でEQU2に変更
ETCO ETC Event timing codes
GEOB GEO General encapsulated object
GRID Group identification registration
IPLS IPL Involved people list v2.4でTMCLとTIPLに変更
LINK LNK Linked information
MCDI MCI Music CD identifier
MLLT MLL MPEG location lookup table
OWNE Ownership frame
PRIV Private frame
PCNT CNT Play counter
POPM POP Popularimeter
POSS Position synchronisation frame
RBUF BUF Recommended buffer size
RVA2 Relative volume adjustment v2.4で追加
RVAD RVA Relative volume adjustment v2.4でRVA2に変更
RVRB REV Reverb
SEEK Seek frame v2.4で追加
SIGN Signature frame v2.4で追加
SYLT SLT Synchronized lyric/text
SYTC STC Synchronized tempo codes
TALB TAL Album/Movie/Show title
TBPM TBM Beats per minute (BPM)
TCOM TCM Composer
TCON TCO Content type
TCOP TCR Copyright message
TDAT TDA Date v2.4でTDRCに変更
TDEN Encoding time v2.4で追加
TDLY TDY Playlist delay
TDOR Original release time v2.4で追加
TDRC Recording time v2.4で追加
TDRL Release time v2.4で追加
TDTG Tagging time v2.4で追加
TENC TEN Encoded by
TEXT TXT Lyricist/Text writer
TFLT TFT File type
TIME TIM Time v2.4でTDRCに変更
TIPL Involved people list v2.4で追加
TIT1 TT1 Content group description
TIT2 TT2 Title/songname/content description
TIT3 TT3 Subtitle/Description refinement
TKEY TKE Initial key
TLAN TLA Language(s)
TLEN TLE Length
TMCL Musician credits list v2.4で追加
TMED TMT Media type
TMOO Mood v2.4で追加
TOAL TOT Original album/movie/show title
TOFN TOF Original filename
TOLY TOL Original lyricist(s)/text writer(s)
TOPE TOA Original artist(s)/performer(s)
TORY TOR Original release year v2.4でTDORに変更
TOWN File owner/licensee
TPE1 TP1 Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group
TPE2 TP2 Band/orchestra/accompaniment
TPE3 TP3 Conductor/performer refinement
TPE4 TP4 Interpreted, remixed, or otherwise modified by
TPOS TPA Part of a set
TPRO Produced notice v2.4で追加
TPUB TPB Publisher
TRCK TRK Track number/Position in set
TRDA TRD Recording dates v2.4でTDRCに変更
TRSN Internet radio station name
TRSO Internet radio station owner
TSIZ TSI Size v2.4で削除
TSOA Album sort order v2.4で追加
TSOP Performer sort order v2.4で追加
TSOT Title sort order v2.4で追加
TSRC TRC International Standard Recording Code (ISRC)
TSSE TSS Software/Hardware and settings used for encoding
TSST Set subtitle v2.4で追加
TYER TYE Year v2.4でTDRCに変更
TXXX TXX User defined text information frame
UFID UFI Unique file identifier
USER Terms of use
USLT ULT Unsynchronized lyric/text transcription
WCOM WCM Commercial information
WCOP WCP Copyright/Legal information
WOAF WAF Official audio file webpage
WOAR WAR Official artist/performer webpage
WOAS WAS Official audio source webpage
WORS Official internet radio station homepage
WPAY Payment
WPUB WPB Publishers official webpage
WXXX WXX User defined URL link frame
フッタ[編集]

v2.4で追加された。フレーム領域の後ろ(パディング領域がある場合はその後ろ)に置かれる。マジックナンバー以外はヘッダと同じ。

オフセット 長さ 説明
0 3 “3DI” (マジックナンバー)
3 2 バージョン
5 1 フラグ
6 4 サイズ

参考[編集]

  1. ^ a b v1 でコメントが最大文字数に満たない場合、 残りが 0 (NULL) になることを利用し、v1 にしか対応しないソフトウェアにそこでコメントが終わったと判断させ、 トラック番号の部分をコメントと認識しないようにするためのものである。
  2. ^ セクション3.1. ID3v2 header
  3. ^ ID3.orgのWelcomeの節

外部リンク[編集]