ID3
From open-encyclopedia.com - the free encyclopedia.
- This article is about the metadata format for MP3 files. For information about the machine learning algorithm which produces decision trees, see Inductive Dichotomiser 3 (ID3).
ID3 is a tagging format for MP3s. It allows metadata such as the title, artist, album, track number, etc., to be added to the MP3 file.
| Contents |
Versions
ID3 comes in several versions:
ID3v1
ID3v1 was invented by Eric Kemp in 1996 and was the original de facto standard. It consists of 128 bytes added to the end of the file, beginning with the string "TAG" so that a tag could be easily spotted by media players. Old MP3 players would occasionally react badly to data injected into the MPEG stream, either stopping play at that point, emitting a burst of noise, or (in the case of tags at the file's start) refusing to even open the file. To solve these problems, the tag was placed at the end of the file instead of at the beginning.
| offset | length | description |
|---|---|---|
| 0 | 3 | "TAG" identifier string. |
| 3 | 30 | Song title string. |
| 33 | 30 | Artist string. |
| 63 | 30 | Album string. |
| 93 | 4 | Year string. |
| 97 | 30 | Comment string. |
| 127 | 1 | Genre byte. |
ID3v1.1
ID3v1.1, an extension invented by Michael Mutschler in 1997, added a new track number field to ID3v1 while maintaining the original size of 128 bytes. This new field occupies the second to last byte of the comment.
| offset | length | description |
|---|---|---|
| 0 | 3 | "TAG" identifier string. |
| 3 | 30 | Song title string. |
| 33 | 30 | Artist string. |
| 63 | 30 | Album string. |
| 93 | 4 | Year string. |
| 97 | 28 | Comment string. |
| 125 | 1 | Zero byte separator. |
| 126 | 1 | Track byte. |
| 127 | 1 | Genre byte. |
Genres
The following genres are defined in ID3v1:
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.AlternRock
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.Psychadelic
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
The following genres are Winamp extensions
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
ID3v2
ID3v2 greatly expanded ID3, adding many more fields and allowing those fields to be much longer. ID3v2 also defined a more extensible data structure with named tag fields and allowed information such as lyrics and images to be encoded in the file. The ID3v2 information is encoded as a large data block at the beginning of the file (or optionally at the end of the file as of ID3v2 2.4). An MP3 file with ID3v2 tag can be played safely on players that weren't designed for ID3v2 - because the tags lack a syncsignal, the decoder can determine that the tags don't contain audio information. The benefit of having a tag at the beginning of the file is that the software can obtain tag information even before reaching the end of the file, which is advantageous if the file is streamed. A disadvantage to having the tag at the beginning is when the tags are modified in length, the entire file needs to be re-written. ID3v2 supports Unicode so that internationalized tags can be used.