IdEst – ID3 Editing and Scripting Tool (split by chapter):   Section:   Chapter:FastBack: Tag Versions   Up: Top   FastForward: View   Contents: Table of ContentsIndex: Concept Index

3 ID3 Frames

Each ID3 tag consists of frames. As described above, IDv1 tags contain a fixed set of frames, whereas IDv2 tags can contain any number of this. The frame ID is a four-character name which identifies a frame.

There are frames that can appear only once in a tag, and there are ones that can appear multiple times. These latter have some additional fields which serve to discern between them. In idest parlance we call these fields frame qualifiers. The number and semantics of qualifiers are frame-dependent. For example, the ‘COMM’ (comment) frame contains two qualifiers: language, which holds a three-letter code of the language the comment is written in, and content descriptor, which holds arbitrary string describing the comment.

There are two ways to address a frame: by its ID, and by its fully-qualified name. Addressing the frame by its ID retrieves all instances of that frame. A fully-qualified name, on the other hand, provides a way to retrieve a particular instance of the frame. A fully-qualified name consists of frame ID, followed by a colon and a list of qualifier values, delimited with colons. For example, the name ‘COMM:eng:my-comment’ will select the ‘COMM’ frame which has ‘eng’ in its language field and ‘my-comment’ in its content descriptor field. Any of qualifiers in a fully-qualified name can be omitted. Such an empty qualifier works as a wildcard, matching any value in the actual field. Thus, ‘COMM::my-comment’ selects the ‘COMM’ frames with content descriptor ‘my-comment’, no matter what their language.

To see all the frames along with their qualifiers and a short description, use the --list-frames (-L) option:

$ idest --list-frames
COMM:lang:condesc          Comments
TALB                       Album/movie/show title
TBPM                       BPM (beats per minute)
TCOM                       Composer
...

The output it produces consists of two columns: the first one shows the frame ID and its qualifiers (if any). The second one contains a short description of this frame purpose.

To select one or several frames of interest, give their names as argument (a comma-separated list) to the --filter (-F) argument, e.g.:

$ idest --list --filter=COMM,TXXX
COMM:lang:condesc          Comments
TXXX:descr                 User defined text information

The --filter option is a standard way to abridge idest operation to a subset of frames.

IdEst – ID3 Editing and Scripting Tool (split by chapter):   Section:   Chapter:FastBack: Tag Versions   Up: Top   FastForward: View   Contents: Table of ContentsIndex: Concept Index