What is ID3v2?
ID3v2 is a tagging system that lets you put enriching and relevant information about your audio files within them. In more down to earth terms, ID3v2 is a chunk of data prepended to the binary audio data. Each ID3v2 tag holds one or more smaller chunks of information, called frames. These frames can contain any kind of information and data you could think of such as title, album, performer, website, lyrics, equalizer presets, pictures etc. The block scheme to the right is an example of how the layout of a typical ID3v2 tagged audio file may look like.
Internal layout of an ID3v2 tagged file. Example of the internal layout of an ID3v2 tagged file.
Even though the tag supports a lot of byte consuming capabilities like inline pictures and even the possibility to include any other file, ID3v2 still tries to use the bytes as efficient as possibly. If you convert an ID3v1 tag to an ID3v2 tag it is even likely that the new tag will be smaller. If you convert an ID3v1 tag where all fields are full (that is, all 30 characters are used in every field) to an ID3v2 tag it will be 56 bytes bigger. This is the worst case scenario for ID3v1 to ID3v2 conversion.
Since it's so easy to implement new functionality into ID3v2, one can hope that we'll see a lot of creative uses for ID3v2 in the future. E.g. there is a built-in system for rating the music and counting how often you listen to a file, just to mention some brainstorm results that are included. This feature can be used to build playlists that play your favourite songs more often than others.
Some main features
- The ID3v2 tag is a container format, just like IFF or PNG files, allowing new frames (chunks) as evolution proceeds.
- Residing in the beginning of the audio file makes it suitable for streaming.
- Has an 'unsynchronization scheme' to prevent ID3v2-incompatible players to attempt to play the tag.
- Maximum tag size is 256 megabytes and maximum frame size is 16 megabytes.
- Byte conservative and with the capability to compress data it keeps the files small.
- The tag supports Unicode.
- Isn't entirely focused on musical audio, but also other types of audio.
- Has several new text fields such as composer, conductor, media type, BPM, copyright message, etc. and the possibility to design your own as you see fit.
- Can contain lyrics as well as music-synced lyrics (karaoke) in almost any language.
- Is able to contain volume, balance, equalizer and reverb settings.
- Is able to contain images and just about any file you want to include.
- Supports enciphered information, linked information and weblinks.
and more... (a complete list of all frames and their functions can be found here)