This page has not been reviewed by our documentation team (more info).

MusicBrainz Metadata Tags (ID3 and Vorbis/FLAC Comment)

Status: The information on this page is complete as of tunepimp Subversion snapshot 2006-01-13.

Applications that read or write metadata tags from music files should follow one consistent specification for what MusicBrainz information is stored where and in what tag. That way all the work of the various tagger applications will contribute to a well connected and clean body of metadata. Any application that deals with music should be able to read the MusicBrainzIdentifiers from a music file in order to communicate unambiguously about the music it's working with.

ID3v2 Tag specifications

See ID3v2Tags for a list of proposed frames tagger applications could write. The following descriptions are summerized in a table below, for more information on how to use ID3v2 tags in your own applications read the specifications on [WWW] http://www.id3.org/.

Note: for each text frame (TXXX) the encoding of the value strings can be defined in the frame header. ID3v2.3 supports UTF-16 and ISO-8859-1 encoded strings; ID3v2.4 has addional support for UTF-8 and UTF-16BE. MusicBrainz Identifiers must be encoded as ISO-8859-1 strings.

ID3v2 frames can be stored in any order in the MP3 file.

General Frames

The following frames are used for the regular information from the database: TPE1 for the main artist name, TALB for the album name, TIT2 for the track title, TRCK for the track number on the album (without total number of tracks in the old MusicBrainzTagger and PicardTagger < 0.5.1 and with totals since PicardTagger 0.5.1).

TCMP is a nonstandard tag that defines a track as being part of a compilation (VA album) if set to 1 or part of a single artist album if set to 0. It is used by the iTunes music player software.

Artist Sortname

The artist sortname is stored in the TSOP frame for ID3v2.4 and in the experimental XSOP frame for ID3v2.3.

Release Date

ID3v2.3 is missing a standard frame for a detailed date. Therefore the experimental XDOR frame is used and the additional TORY that stores the year of release as a 4 digit number only is used.

In ID3v2.4 only the TDRL frame is used to store the complete release date in yyyy-MM-dd format.

Music Brainz Identifier

To store the MusicBrainzIdentifiers in an ID3v2 tag, you will need to use a UFID frame for the TrackID, and some user defined TXXX text frames for the artist, album, album artist and trm identifiers as well as the album status and type. Please note that for ease of use these ID3 frames are specified to use ISO 8859-1. However, the types of characters used to express these tags are the same in ISO 8859-1 and UTF-8, since UTF-8 is backward compatible with 7-bit ASCII.

MusicBrainz Track Identifier

The MusicBrainz Track Id is the internal unique ID MusicBrainz defines for every object in its database. It is stored in the special UFID frame, that contains two parts: The Owner Identifier selects the namespace where the identifies is unique. For MusicBrainz it is be guaranteed that this ID is unique on the server; therefore the default owner identifier is http://musicbrainz.org. The second part is the TrackID for the track as stored in the MusicBrainz database.

MusicBrainz Artist Identifier

The MusicBrainz Artist Id is stored in a user defined TXXX text information frame, encoded as a 0x00 terminated ISO-8859-1 string. Its value is the ArtistID as stored in the MusicBrainz database.

MusicBrainz Album Identifier

The MusicBrainz Album Id is stored in a user defined TXXX text information frame, encoded as a 0x00 terminated ISO-8859-1 string. Its value is the AlbumID as stored in the MusicBrainz database.

MusicBrainz Album Artist Identifier

The MusicBrainz Album Artist Id is used to store an artist identifier for the album the track is on. This is only for VariousArtistsReleases where the tracks have multiple different artists and the album itself is by the special artist VariousArtists with ArtistID 89ad4ac3-39f7-470e-963a-56509c546377.

It is stored in a user defined TXXX text information frame, encoded as a 0x00 terminated ISO-8859-1 string. Its value is the ArtistID as stored in the MusicBrainz database.

MusicBrainz Album Status

This stores the status of the album the track is from, encoded as a 0x00 terminated ISO-8859-1 string. At the moment the possible values are: official, promotional, bootleg.

MusicBrainz Album Type

This type the status of the album the track is from, encoded as a 0x00 terminated ISO-8859-1 string. Possible values are: album, single, live e.a.

MusicBrainz TRM Identifier

The MusicBrainz TRM Id is stored in a user defined TXXX text information frame, encoded as a 0x00 terminated ISO-8859-1 string. Its value is the track's TRM as stored in the MusicBrainz database.

MusicIP PUID Identifier

The MusicIP PUID is stored in a user defined TXXX text information frame, encoded as a 0x00 terminated ISO-8859-1 string. Its value is the track's PUID as stored in the MusicBrainz database.

Vorbis/FLAC comment specifications

In contrast to the various possibilities of ID3 tagging, Vorbis and FLAC tags are stored in a unified way. All strings are encoded as UTF-8, tagged data is stored in the so called [WWW] comment header, each key value pair is specified as a tripplet of the form: [length in bytes][key]=[value]. Strings are not terminated. For proposed extensions to the default comment tags see [WWW] Ogg Vorbis Comment Field Recommendations and [WWW] Extending Vorbis Comments.

Note, that RELEASECOUNTRY is no standard tag and not mentioned in any of the proposals; DATE was originally specified to store the recording date while MusicBrainz defines only release dates.

The different comment names and their equivalent ID3v3 frames can be found in the table below.

Overview

ID3v2.3 frame

ID3v2.4 frame

Value

Description (TXXX only)

Vorbis/FLAC comments

MP4 (iTunes) tags

TPE1

TPE1

[artist name]

ARTIST

©ART

TALB

TALB

[album title]

ALBUM

©alb

TIT2

TIT2

[track title]

TITLE

©nam

TRCK

TRCK

[track number]

TRACKNUMBER

trkn

XSOP

TSOP

[artist sortname]

MUSICBRAINZ_SORTNAME

MusicBrainz Sortname

TORY/TYER

---

[release year]

---

©day

XDOR

TDRL/TDRC

[release date]

DATE

MusicBrainz Album Release Date

TXXX

TXXX

[Artist UUID]

MusicBrainz Artist Id

MUSICBRAINZ_ARTISTID

MusicBrainz Artist Id

TXXX

TXXX

[Album UUID]

MusicBrainz Album Id

MUSICBRAINZ_ALBUMID

MusicBrainz Album Id

TXXX

TXXX

[Album Artist UUID]

MusicBrainz Album Artist Id

MUSICBRAINZ_ALBUMARTISTID

MusicBrainz Album Artist Id

TXXX

TXXX

[album artist]

MusicBrainz Album Artist

MUSICBRAINZ_ALBUMARTIST

MusicBrainz Album Artist

TXXX

TXXX

[album artist sortname]

MusicBrainz Album Artist Sortname

MUSICBRAINZ_ALBUMARTISTSORTNAME

MusicBrainz Album Artist Sortname

TXXX

TXXX

[album status]

MusicBrainz Album Status

MUSICBRAINZ_ALBUMSTATUS

MusicBrainz Album Status

TXXX

TXXX

[album type]

MusicBrainz Album Type

MUSICBRAINZ_ALBUMTYPE

MusicBrainz Album Type

TXXX

TXXX

[TRM UUID]

MusicBrainz TRM Id

MUSICBRAINZ_TRMID

TXXX

TXXX

[PUID UUID]

MusicIP PUID

MUSICIP_PUID

MusicIP PUID

UFID

UFID

[Track UUID]

(OwnerID is: http://musicbrainz.org)

MUSICBRAINZ_TRACKID

MusicBrainz Track Id

TCMP

TCMP

if VA then 1 else 0

---

cpil

TXXX

TXXX

[release country]

MusicBrainz Album Release Country

RELEASECOUNTRY

MusicBrainz Album Release Country

---

TDTG

tagging date

Proposed additions

/!\ These additional fields have been proposed to allow certain use cases to be implemented in third party applications.

MusicBrainz DiscID Identifier

The MusicBrainz DiscID is stored in a user define TXXX text information frame, encoded as a 0x00 terminated ISO-8859-1 string. Its value is the album's DiscID as stored in the MusicBrainz database.

ID3v2.3 frame

ID3v2.4 frame

Value

Description (TXXX only)

Vorbis/FLAC comments

MP4 (iTunes) tags

TXXX

TXXX

[MusicBrainz DiscID]

MusicBrainz DiscID

MUSICBRAINZ_DISCID

MusicBrainz DiscID

Discussion

It would be nifty if the OriginalVersion could be marked non-canonical/redirect to the latest version. --MartinRudat

Would it be better to list both the ID3 tag and the Vorbis comment under the tag description, rather than having a seprate section for ID3 and another for Vorbis? Please, AnswerMe. --MartinRudat

What should happen for case 3 of ReleaseArtistStyle? Should the ArtistID for the release be set to the ReleaseArtist or should it be omitted? How does it effect the setting of the ID3 tag, TCMP? AnswerMe, please. --MartinRudat

Nasty question; Release vs Album vs backwards combatability. AnswerMe, please. --MartinRudat

Would it be worthwhile to create links for the rest of the tags, in addition to the MusicBrainzIdentifier links? Please, AnswerMe. -- MartinRudat 2006-04-26 10:12:29

Does the tagger write any of the MusicBrainz metadata to .m4a files?

What is the consensus or if there is any a standard on storing the Amazon ASIN? Just "ASIN" or "Amazon ASIN" (id3v2 TXXX), and "Amazon/ASIN" (for WMA; this only would actually make sense with WMA, and would hint towards id3v2 using "Amazon ASIN") -- MiloszDerezynski

The "A" in "ASIN" stands for "Amazon"; "Amazon ASIN" means "Amazon Amazon ..." - don't do that.

Question: why are the Vorbis tag names like "MUSICBRAINZ_XXX"? Even though they list everything in upper-case, xiph.org's encoder uses lower case for "title", etc., tag names as specified as case-insensitive, and they can contain spaces: so using "MusicBrainz Xxx", like in the "MP4 tags" for the tag names looks much nicer!


After editing this, I noticed that the Status: line up top implies this page details what libtunepimp supports. I added the DiscID tag after talking to RobertKaye because the application I'm writing needs access to that metadata. Should I wait until libtunepimp supports it? Please, AnswerMe. -- SeanGoller

  • I moved it to it's own section, because the table does only list the implemented state of libtunepimp. --Fuchs


Authors: DonRedman, Shepard, Fuchs

CategoryDocumentation

[WWW] OriginalVersion

 
Creative Commons EFF GPL LGPL This material is Open Knowledge Valid XHTML 1.1 Valid CSS 2.0
Original Design|vacubomb.com Contact details Server version: RELEASE-20071014