ID3TAGのフォーマット

MP3ファイルの最後128バイトに以下のような形式で格納されています。
サイズはすべて固定長で、データの入っていない部分は0x00(Winampだと0x20) で埋められています。

'TAG' Title Artist Album Year Comment Junle
3byte 30byte 30byte 30byte 4byte 30byte 1byte

ジャンル以外の項目は、Windowsプラットフォームで作成されていることが ほとんどであるので、Windowsで採用されている各国語のコード (日本では、Shift-JIS)がそのまま埋め込まれている場合があります。

ジャンルは、数値(1バイト)とジャンル名が単純に一対一で割り当てられています。 それぞれの対応については、下記のようになっています。
(ジャンルのデータが無い場合は、0xff。)

0x00	"Blues"
0x01	"ClassicRock"
0x02	"Country"
0x03	"Dance"
0x04	"Disco"
0x05	"Funk"
0x06	"Grunge"
0x07	"Hip-Hop"
0x08	"Jazz"
0x09	"Metal"
0x0a	"NewAge"
0x0b	"Oldies"
0x0c	"Other"
0x0d	"Pop"
0x0e	"R&B"
0x0f	"Rap"
0x10	"Reggae"
0x11	"Rock"
0x12	"Techno"
0x13	"Industrial"
0x14	"Alternative"
0x15	"Ska"
0x16	"DeathMetal"
0x17	"Pranks"
0x18	"Soundtrack"
0x19	"Euro-Techno"
0x1a	"Ambient"
0x1b	"Trip-Hop"
0x1c	"Vocal"
0x1d	"Jazz+Funk"
0x1e	"Fusion"
0x1f	"Trance"
0x20	"Classical"
0x21	"Instrumental"
0x22	"Acid"
0x23	"House"
0x24	"Game"
0x25	"SoundClip"
0x26	"Gospel"
0x27	"Noise"
0x28	"Alt.Rock"
0x29	"Bass"
0x2a	"Soul"
0x2b	"Punk"
0x2c	"Space"
0x2d	"Meditative"
0x2e	"InstrumentalPop"
0x2f	"InstrumentalRock"
0x30	"Ethnic"
0x31	"Gothic"
0x32	"Darkwave"
0x33	"Techno-Industrial"
0x34	"Electronic"
0x35	"Pop-Folk"
0x36	"Eurodance"
0x37	"Dream"
0x38	"SouthernRock"
0x39	"Comedy"
0x3a	"Cult"
0x3b	"Gangsta"
0x3c	"Top40"
0x3d	"ChristianRap"
0x3e	"Pop/Funk"
0x3f	"Jungle"
0x40	"NativeAmerican"
0x41	"Cabaret"
0x42	"NewWave"
0x43	"Psychadelic"
0x44	"Rave"
0x45	"Showtunes"
0x46	"Trailer"
0x47	"Lo-Fi"
0x48	"Tribal"
0x49	"AcidPunk"
0x4a	"AcidJazz"
0x4b	"Polka"
0x4c	"Retro"
0x4d	"Musical"
0x4e	"Rock&Roll"
0x4f	"HardRock"
0x50	"Folk"
0x51	"Folk/Rock"
0x52	"NationalFolk"
0x53	"Swing"
0x54	"Fusion"
0x55	"Bebob"
0x56	"Latin"
0x57	"Revival"
0x58	"Celtic"
0x59	"Bluegrass"
0x5a	"Avantgarde"
0x5b	"GothicRock"
0x5c	"ProgressiveRock"
0x5d	"PsychedelicRock"
0x5e	"SymphonicRock"
0x5f	"SlowRock"
0x60	"BigBand"
0x61	"Chorus"
0x62	"EasyListening"
0x63	"Acoustic"
0x64	"Humour"
0x65	"Speech"
0x66	"Chanson"
0x67	"Opera"
0x68	"ChamberMusic"
0x69	"Sonata"
0x6a	"Symphony"
0x6b	"BootyBass"
0x6c	"Primus"
0x6d	"PornGroove"
0x6e	"Satire"
0x6f	"SlowJam"
0x70	"Club"
0x71	"Tango"
0x72	"Samba"
0x73	"Folklore"
0x74	"Ballad"
0x75	"Power Ballad"
0x76	"Rhytmic Soul" 
0x77	"Freestyle" 
0x78	"Duet"
0x79	"Punk Rock"
0x7a	"Drum Solo"
0x7b	"Acapella"
0x7c	"Euro-House"
0x7d	"Dance Hall"
0x7e	"Goa"
0x7f	"Drum & Bass"
0x80	"Club-House"
0x81	"Hardcore"
0x82	"Terror"
0x83	"Indie"
0x84	"BritPop"
0x85	"Negerpunk"
0x86	"Polsk Punk"
0x87	"Beat"
0x88	"Christian Gangsta Rap"
0x89	"Heavy Metal"
0x8a	"Black Metal"
0x8b	"Crossover"
0x8c	"Contemporary Christian"
0x8d	"Christian Rock"
0x8e	"Merengue"
0x8f	"Salsa"
0x90	"Trash Metal"
0x91	"Anime"
0x92	"JPop"
0x93	"SynthPop"

RMPについて

RMPとは、 303tekYunasoft が考えたタグのフォーマットであり、ID3TAGの部分が RIFFチャンクで包まれているらしいが、 私の環境では、技術情報を調べることができません。 (compiled html形式でしか置いていなかったので、IE4やWin98を当分の間 使うつもりはありません。)

RIFF-WAVEヘッダ付きMP3について

これは、MS-Windows標準のWAVフォーマットのヘッダ+MP3CODEC であるので、ISOのMPEG Audio Layer3のフォーマットとはヘッダ情報が異なります。 replayなどampのmp3 decodeエンジンやmpg123を使用している 多くのプレーヤーはRIFFヘッダを読み飛ばすので、問題なく再生できます。 ただし、あくまでWAVフォーマットであることにはかわりはないので、 ID3TAG等の曲の情報は保存することはできません。
戻る