WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Sound and Media

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

MP3 ID2V3 tag documentation


OK, I think I've got it. 
Anyone who is familiar with ID3v2,
please look this over and see if I've gotten anything wrong...

An ID3v2 tag is set up as follows:
Header (10 bytes)
Extended Header - Optional
Frames
Padding - Optional
Footer (10 bytes) - Optional
(Padding and Footer are mutually exclusive)

HEADER - 10 bytes
ID3vvfssss, where:
ID3 - The character string "ID3"
vv  - The ASCII code of the first character is the major version, 2nd is minor version
f   - flags (break down into bits - abcd)
      a - If set, it indicates unsynchronization is applied on all frames
      b - If set, there is an extended header.
      c - Set if tag is experimental header follows the header
      d - If set, there is a footer at the end of the tag
ssss- Size Synchsafe Integers - I don't understand this well enough to comment on it,
      except to say (as I understand it), you break the bytes into the binary equivalent.
      Throw out the last? (left-most) bit, and the remaining 4*7 bits give you the size.

FRAMES - 10 bytes
xxxxssssff, where:
xxxx - Character string defining what the field is (artist, title, comments, etc.)
ssss - Size of field (10 char fram not included), synchsafe integers
ff   - Flags.  Break these into bits. It breaks down to "0abc0000" and "0d00efgh" where:
       a - If 0, preserve unknown this frame if unknown and TAG is unaltered.  
           If 1, discard it.
       b - If 0, preserve unknown this frame if unknown and FILE is unaltered.  
           If 1, discard it.
       c - If set, this frame should be Read Only.
       d - If set, this frame should be part of a group
       e - If set, the frame is compressed [zlib]
       f - If set, the frame is encrypted
       g - If set, the frame has been unsynchronized
       h - If set, a data length indicator has been added to the frame

The most important (in my opinion) Field names are as follows:
TIT2 - Title
TPE1 - Artist
TALB - Album
TCON - Content Type
COMM - Comment
TCOM - Composer
TOPE - Original Artist
TCOP - Copyright
WXXX - URL
USLT - Unsynchronized lyric/text transcription
TRCK - Track number
See Also:
http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/nftechsupt.web+WinBatch/OLE~COM~ADO~CDO~ADSI~LDAP+Get~Audio~File~Information.txt
Article ID:   W16219
File Created: 2014:07:18:09:51:40
Last Updated: 2014:07:18:09:51:40