ID3v1: Difference between revisions

From Hydrogenaudio Knowledgebase
mNo edit summary
m (Updated See also/External links)
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
The audio format MPEG layer I, layer II and layer III (MP3) has no native way of saving information about the contents, except for some simple yes/no parameters like "private", "copyrighted" and "original home" (meaning this is the original file and not a copy). A solution to this problem was introduced with the program "Studio3" by Eric Kemp alias NamkraD in 1996. By adding a small chunk of extra data in the end of the file one could get the MP3 file to carry information about the audio and not just the audio itself.
The audio formats MPEG layer I, layer II, and layer III (MP3) have no native way of saving information about the contents, except for some simple yes/no parameters like "private", "copyrighted", and "original home" (meaning this is the original file and not a copy). A solution to this problem was introduced with the program "Studio3" by Eric Kemp, alias NamkraD, in 1996. By adding a small chunk of extra data at the end of the file, one could get the MP3 file to carry information about the audio and not just the audio itself.


The placement of the tag, as the data was called, was probably chosen as there were little chance that it should disturb decoders. In order to make it easy to detect a fixed size of 128 bytes was chosen. The tag has the following layout:
The placement of the tag, as the data was called, was probably chosen as there was little chance that it would disturb decoders. In order to make it easy to detect, a fixed size of 128 bytes was chosen. The tag has the following layout:


<center>[[Image:id3v1_blocks.png|frame|center|Id3v1 tag]]</center>
{|align=center border="0" cellpadding="5"
{| align=center border="1" cellpadding="5" cellspacing="0"
|[[Image:id3v1_blocks.png|frame|left|Example Id3v1 Tag, image copyright © [https://www.id3.org/copy.html Martin Nilsson]]]
|
{| align=right border="1" cellpadding="5" cellspacing="0"
| Header || 3 characters
|-
| Song title || 30 characters
| Song title || 30 characters
|-
|-
Line 11: Line 15:
| Album || 30 characters
| Album || 30 characters
|-
|-
|Year || 4 characters
| Year || 4 characters
|-
|-
|Comment || 30 characters
| Comment || 30 characters
|-
|-
|Genre || 1 byte
| Genre || 1 byte
|}
|}
|}
If we sum the size of all these fields, we see that 30+30+30+4+30+1 equals 125 bytes and not 128 bytes. The missing three bytes can be found at the very beginning of the tag, before the song title. These three bytes are always "TAG", which is the identification that this is indeed a ID3 tag. The easiest way to find a ID3v1/1.1 tag is to look for the word "TAG" 128 bytes from the end of a file.
As not all artists have a 30-character name, it is said that if there are some bytes left after the information is entered in the field, those bytes should be filled with the binary value 0. You might also think that you cannot write that much in the genre field, being one byte big, but it is clever than that. The byte value you enter in the genre field corresponds to a value in a predefined list. The list that Eric Kemp created had 80 entries, ranging from 0 to 79.
Then-dominant player software [[Winamp]] extended this list twice by 1998, and further in 2010<ref>[[wikipedia:List of ID3v1 Genres|List of ID3v1 Genres]] on Wikipedia</ref>, for up to 191 recognized genres.
==See also==
* [[ID3v1.1]]
* [[ID3v2]]


If you one sum the the size of all these fields we see that 30+30+30+4+30+1 equals 125 bytes and not 128 bytes. The missing three bytes can be found at the very beginning of the tag, before the song title. These three bytes are always "TAG" and is the identification that this is indeed a ID3 tag. The easiest way to find a ID3v1/1.1 tag is to look for the word "TAG" 128 bytes from the end of a file.
==External links==
* [https://id3.org/ID3v1 What is ID3 (v1)?]


As all artists doesn't have a 30 character name it is said that if there is some bytes left after the information is entered in the field, those bytes should be fille with the binary value 0. You might also think that you cannot write that much in the genre field, being one byte big, but it is more clever than that. The byte value you enter in the genre field corresponds to a value in a predefined list. The list that Eric Kemp created had 80 entries, ranging from 0 to 79.
==References==
<references/>


==Copyright==
[[Category:Metadata]]
This material is copyrighted by [http://www.id3.org/copy.html Martin Nilsson], taken from [http://www.id3.org/id3v1.html ID3 made easy ].
[[Category:MP3]]

Latest revision as of 09:18, 11 June 2022

The audio formats MPEG layer I, layer II, and layer III (MP3) have no native way of saving information about the contents, except for some simple yes/no parameters like "private", "copyrighted", and "original home" (meaning this is the original file and not a copy). A solution to this problem was introduced with the program "Studio3" by Eric Kemp, alias NamkraD, in 1996. By adding a small chunk of extra data at the end of the file, one could get the MP3 file to carry information about the audio and not just the audio itself.

The placement of the tag, as the data was called, was probably chosen as there was little chance that it would disturb decoders. In order to make it easy to detect, a fixed size of 128 bytes was chosen. The tag has the following layout:

Example Id3v1 Tag, image copyright © Martin Nilsson
Header 3 characters
Song title 30 characters
Artist 30 characters
Album 30 characters
Year 4 characters
Comment 30 characters
Genre 1 byte

If we sum the size of all these fields, we see that 30+30+30+4+30+1 equals 125 bytes and not 128 bytes. The missing three bytes can be found at the very beginning of the tag, before the song title. These three bytes are always "TAG", which is the identification that this is indeed a ID3 tag. The easiest way to find a ID3v1/1.1 tag is to look for the word "TAG" 128 bytes from the end of a file.

As not all artists have a 30-character name, it is said that if there are some bytes left after the information is entered in the field, those bytes should be filled with the binary value 0. You might also think that you cannot write that much in the genre field, being one byte big, but it is clever than that. The byte value you enter in the genre field corresponds to a value in a predefined list. The list that Eric Kemp created had 80 entries, ranging from 0 to 79.

Then-dominant player software Winamp extended this list twice by 1998, and further in 2010[1], for up to 191 recognized genres.

See also

External links

References

  1. List of ID3v1 Genres on Wikipedia