ID3
(Redirected from ID3-tag)
: ''For the ID tags used by military forces, see Dog tag (identifier).''
'ID3' is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, or other information about the file to be stored in the file itself.
There are two unrelated versions of ID3: 'ID3v1' and 'ID3v2'.
After the creation of the MP3 standard, there appeared a problem with storing data about the file. Standalone MP3s didn't have any special method of doing this, so in 1996 Eric Kemp came up with the idea to add a small chunk of data to the audio file, thus solving the problem. The standard was called 'ID3v1' and it quickly became the de facto standard for storing metadata in MP3s. The ID3v1 tag occupies 128 bytes, beginning with the string ''TAG''. The tag was placed at the end of the file to maintain compatibility with older media players. Some players played a small burst of static when they read the tag, but most ignored it, and almost all modern players will correctly skip it.
The tag allowed for 30 bytes for the title, artist, album, and a "comment", 4 bytes for the year, and a byte to identify the genre of the song from a predefined list of 80 values (Winamp later extended this list to 148 values).
One improvement to ID3v1 was made by Michael Mutschler in 1997. Since the comment field was too small to write anything useful, he decided to trim it by 2 bytes and use it to store the track number. Such tags are referred to as 'ID3v1.1'.
ID3v1 tags were criticized for several problems. One of the problems was the too-short fields for data. 30 bytes is not enough to store long song or album titles, so they would be simply truncated.
The approach to defining the song genre also had obvious disadvantages. Many users criticized the predefined genre list, which did not contain some common genres like minimalist or Baroque, but did contain entries like Christian Rap.
ID3v1 also lacked support for internationalization. It is stated in the standard that all the strings must be encoded in ISO-8859-1. But in practice, users usually used local encodings, which is why mojibake is a common problem in ID3v1 tags.
In response to these criticisms, a new standard called 'ID3v2' was created in 1998. Although it bears the name ID3, it has little to no relation to the ID3v1 standard.
ID3v2 tags are of variable size, and usually occur at the start of the file, to aid streaming media. They consist of a number of ''frames'', each of which contains a piece of metadata. For example, the ''TIT2'' frame contains the title, and the ''WOAR'' frame contains the URL of the artist's website. Frames can be 16MB in length. Internationalization problem was solved by allowing to encode strings not only with ISO-8859-1, but also with UTF-16. Textual frames are marked with an encoding bit, though mojibake is still common when using local encoding instead of UTF-16.
In the latest ID3v2 standard there are 84 types of frame, and applications can also define their own types. There are standard frames for containing cover art, BPM, copyright and license, lyrics, and arbitrary text and URL data, as well as other things.
There are three versions of ID3v2. ID3v2.2 was the first public version of ID3v2. It used three character frame identifiers rather than four (''TT2'' for the title instead of ''TIT2''). Most of the common v2.3 and v2.4 frames have direct analogues in v2.2. Now this standard is considered obsolete.
ID3v2.3 expanded the frame identifier to four characters, and added a number of frames. A frame could contain multiple values, separated with a ''/'' character. This is the most widely used version of ID3v2 tags.
ID3v2.4 is the latest version of the standard, dated November 1, 2000. Notably, it allows textual data to be encoded in UTF-8, which was a common practice in earlier tags despite the standard because it has several noticeable advantages over UTF-16. It uses a null byte to separate multiple values, so the character "/" can appear in text data again. Another new feature introduced in ID3v2.4 tags is allowing to add tag to the end of the file before other tags (like ID3v1).
The ID3v2 Chapter Addendum[1] was published in December 2005 but is not widely supported as yet. It allows users to jump easily to specific locations or chapters within an audio file and can provide a synchronized slide show of images and titles during playback. Typical applications include Enhanced podcasts and it can be used in ID3v2.3 or ID3v2.4 tags.
Although the different versions of ID3v2 are conceptually similar, implementing an algorithm to read and write them is difficult. There are subtle but critical differences between all the versions. Even within a version, the structure of frames differs greatly. For example, the ''TIT2'' frame which contains the title, and the ''USLT'' which contains a lyrics transcription, require different algorithms to extract the data. With 84 different frames, dozens of such sub-parsers are required. Other tagging formats such as APEv2 eschew this, and use a single key/value pair for the internal structure of every frame.
ID3v2 stores many things in the tag that are more commonly left to the audio format itself. Some examples are the ''TLEN'' frame which stores the audio length, or the ''AENC'' frame which contains the encryption scheme of the audio. (However, the information provided by ''TLEN'' is often not derived trivially. In general, the duration of a variable bitrate stream can be calculated only after examining each frame of the entire stream. Thus, ''TLEN'' can be useful for streaming audio and inadequate hardware.)
Software adoption for ID3v2.4 has come around in the last couple of years; however, the majority of files still use older versions of ID3v2.
ID3 tags may be edited in a variety of ways. On some platforms the file's properties may be edited by viewing extended information in the file manager. Additionally most audio players allow editing single or groups of files. Editing groups of files is often referred to as "batch tagging". There are also specialized applications, called taggers, which concentrate specifically on editing the tags of and related tasks. These often offer advanced features such as advanced batch tagging or editing based on regular expressions.
ID3 tags were designed with MP3 in mind, so they would work without problems with MP3 and MP3Pro files. However, the tagsets are an independent part of the MP3 file and should be usable elsewhere. In practice, the only other format which has wide usage of ID3v2 tags is AIFF, where the tag is stored inside a RIFF chunk named "ID3". The same could be accomplished in WAV, but isn't. The only tagging system in wide usage for WAV is "Broadcast WAV", stored as a RIFF chunk. Container-based formats like OGG and WMA use their own tagging formats, adding an ID3 tag to them will break the container structure.
1. http://www.id3.org/id3v2-chapters-1.0.html
★ APEv2 tag
★ Vorbis comment
★ Tag editor
★ getID3()
★ Official site for ID3, including the format specifications
★ List of genres in ID3v1
: ''For the ID tags used by military forces, see Dog tag (identifier).''
'ID3' is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, or other information about the file to be stored in the file itself.
| Contents |
| Versions of ID3 |
| ID3v1 |
| ID3v2 |
| ID3v2 Chapters |
| Criticisms and problems |
| Editing ID3 tags |
| Usage with non-MP3 files |
| References |
| See also |
| External links |
Versions of ID3
There are two unrelated versions of ID3: 'ID3v1' and 'ID3v2'.
ID3v1
After the creation of the MP3 standard, there appeared a problem with storing data about the file. Standalone MP3s didn't have any special method of doing this, so in 1996 Eric Kemp came up with the idea to add a small chunk of data to the audio file, thus solving the problem. The standard was called 'ID3v1' and it quickly became the de facto standard for storing metadata in MP3s. The ID3v1 tag occupies 128 bytes, beginning with the string ''TAG''. The tag was placed at the end of the file to maintain compatibility with older media players. Some players played a small burst of static when they read the tag, but most ignored it, and almost all modern players will correctly skip it.
The tag allowed for 30 bytes for the title, artist, album, and a "comment", 4 bytes for the year, and a byte to identify the genre of the song from a predefined list of 80 values (Winamp later extended this list to 148 values).
One improvement to ID3v1 was made by Michael Mutschler in 1997. Since the comment field was too small to write anything useful, he decided to trim it by 2 bytes and use it to store the track number. Such tags are referred to as 'ID3v1.1'.
ID3v1 tags were criticized for several problems. One of the problems was the too-short fields for data. 30 bytes is not enough to store long song or album titles, so they would be simply truncated.
The approach to defining the song genre also had obvious disadvantages. Many users criticized the predefined genre list, which did not contain some common genres like minimalist or Baroque, but did contain entries like Christian Rap.
ID3v1 also lacked support for internationalization. It is stated in the standard that all the strings must be encoded in ISO-8859-1. But in practice, users usually used local encodings, which is why mojibake is a common problem in ID3v1 tags.
ID3v2
In response to these criticisms, a new standard called 'ID3v2' was created in 1998. Although it bears the name ID3, it has little to no relation to the ID3v1 standard.
ID3v2 tags are of variable size, and usually occur at the start of the file, to aid streaming media. They consist of a number of ''frames'', each of which contains a piece of metadata. For example, the ''TIT2'' frame contains the title, and the ''WOAR'' frame contains the URL of the artist's website. Frames can be 16MB in length. Internationalization problem was solved by allowing to encode strings not only with ISO-8859-1, but also with UTF-16. Textual frames are marked with an encoding bit, though mojibake is still common when using local encoding instead of UTF-16.
In the latest ID3v2 standard there are 84 types of frame, and applications can also define their own types. There are standard frames for containing cover art, BPM, copyright and license, lyrics, and arbitrary text and URL data, as well as other things.
There are three versions of ID3v2. ID3v2.2 was the first public version of ID3v2. It used three character frame identifiers rather than four (''TT2'' for the title instead of ''TIT2''). Most of the common v2.3 and v2.4 frames have direct analogues in v2.2. Now this standard is considered obsolete.
ID3v2.3 expanded the frame identifier to four characters, and added a number of frames. A frame could contain multiple values, separated with a ''/'' character. This is the most widely used version of ID3v2 tags.
ID3v2.4 is the latest version of the standard, dated November 1, 2000. Notably, it allows textual data to be encoded in UTF-8, which was a common practice in earlier tags despite the standard because it has several noticeable advantages over UTF-16. It uses a null byte to separate multiple values, so the character "/" can appear in text data again. Another new feature introduced in ID3v2.4 tags is allowing to add tag to the end of the file before other tags (like ID3v1).
ID3v2 Chapters
The ID3v2 Chapter Addendum[1] was published in December 2005 but is not widely supported as yet. It allows users to jump easily to specific locations or chapters within an audio file and can provide a synchronized slide show of images and titles during playback. Typical applications include Enhanced podcasts and it can be used in ID3v2.3 or ID3v2.4 tags.
Criticisms and problems
Although the different versions of ID3v2 are conceptually similar, implementing an algorithm to read and write them is difficult. There are subtle but critical differences between all the versions. Even within a version, the structure of frames differs greatly. For example, the ''TIT2'' frame which contains the title, and the ''USLT'' which contains a lyrics transcription, require different algorithms to extract the data. With 84 different frames, dozens of such sub-parsers are required. Other tagging formats such as APEv2 eschew this, and use a single key/value pair for the internal structure of every frame.
ID3v2 stores many things in the tag that are more commonly left to the audio format itself. Some examples are the ''TLEN'' frame which stores the audio length, or the ''AENC'' frame which contains the encryption scheme of the audio. (However, the information provided by ''TLEN'' is often not derived trivially. In general, the duration of a variable bitrate stream can be calculated only after examining each frame of the entire stream. Thus, ''TLEN'' can be useful for streaming audio and inadequate hardware.)
Software adoption for ID3v2.4 has come around in the last couple of years; however, the majority of files still use older versions of ID3v2.
Editing ID3 tags
ID3 tags may be edited in a variety of ways. On some platforms the file's properties may be edited by viewing extended information in the file manager. Additionally most audio players allow editing single or groups of files. Editing groups of files is often referred to as "batch tagging". There are also specialized applications, called taggers, which concentrate specifically on editing the tags of and related tasks. These often offer advanced features such as advanced batch tagging or editing based on regular expressions.
Usage with non-MP3 files
ID3 tags were designed with MP3 in mind, so they would work without problems with MP3 and MP3Pro files. However, the tagsets are an independent part of the MP3 file and should be usable elsewhere. In practice, the only other format which has wide usage of ID3v2 tags is AIFF, where the tag is stored inside a RIFF chunk named "ID3". The same could be accomplished in WAV, but isn't. The only tagging system in wide usage for WAV is "Broadcast WAV", stored as a RIFF chunk. Container-based formats like OGG and WMA use their own tagging formats, adding an ID3 tag to them will break the container structure.
References
1. http://www.id3.org/id3v2-chapters-1.0.html
See also
★ APEv2 tag
★ Vorbis comment
★ Tag editor
★ getID3()
External links
★ Official site for ID3, including the format specifications
★ List of genres in ID3v1
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español



