Jump to content

ID3

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 69.212.110.189 (talk) at 22:23, 24 October 2004 (ID3v2: backwards-compatible; pros + cons of tags at the beginning of files). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.

Versions

ID3 comes in several versions:

ID3v1

ID3v1 was the original de facto-standard. It was invented by Eric Kemp in 1996. and consisted of 128 bytes that were added at the end of the file, beginning with the string "TAG" so that a tag could be easily spotted by media players. Legacy players would occasionally react badly to such data injected into the MPEG stream, since it was placed at the end of the file instead of at the beginning.

ID3v1 format
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.


ID3v1.1 format
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 "sync" header, 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.