MusicBrainz Tag: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
m (5 revision(s))
(Redirected page to MusicBrainz Picard)
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
#REDIRECT [[MusicBrainz Picard]]
=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 [[MusicBrainz Identifier|MusicBrainzIdentifier]]<code><nowiki></nowiki></code>s from a music file in order to communicate unambiguously about the music it's working with.

==ID3v2 Tag specifications==

See [[ID3v2 Tags|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 [http://www.id3.org/ http://www.id3.org/].

Note: for each text frame ('''T'''XXX) 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 [[MusicBrainz Tagger|MusicBrainzTagger]] and [[Picard Tagger|PicardTagger]] < 0.5.1 and with totals since [[Picard Tagger|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 <code><nowiki>yyyy-MM-dd</nowiki></code> format.

===Music Brainz Identifier===

To store the [[MusicBrainz Identifier|MusicBrainzIdentifier]]<code><nowiki></nowiki></code>s in an ID3v2 tag, you will need to use a '''UFID''' frame for the [[Track ID|TrackID]], and some user defined '''TXXX''' text frames for the artist, album, album artist and PUID 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 <code><nowiki>http://musicbrainz.org</nowiki></code>. The second part is the [[Track ID|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 <code><nowiki>0x00</nowiki></code> terminated ISO-8859-1 string. Its value is the [[Artist ID|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 <code><nowiki>0x00</nowiki></code> terminated ISO-8859-1 string. Its value is the [[Release ID|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 [[Various Artists Release|VariousArtistsRelease]]<code><nowiki></nowiki></code>s where the tracks have multiple different artists and the album itself is by the special artist ''[[Various Artists|VariousArtists]]'' with [[Artist ID|ArtistID]] <code><nowiki>89ad4ac3-39f7-470e-963a-56509c546377</nowiki></code>.

It is stored in a user defined '''TXXX''' text information frame, encoded as a <code><nowiki>0x00</nowiki></code> terminated ISO-8859-1 string. Its value is the [[Artist ID|ArtistID]] as stored in the [[MusicBrainz]] database.

====MusicBrainz Album Status====

This stores the status of the album the track is from, encoded as a <code><nowiki>0x00</nowiki></code> 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 <code><nowiki>0x00</nowiki></code> terminated ISO-8859-1 string. Possible values are: ''album'', ''single'', ''live'' e.a.

====MusicIP PUID Identifier====

The ''MusicIP PUID'' is stored in a user defined '''TXXX''' text information frame, encoded as a <code><nowiki>0x00</nowiki></code> 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 [http://www.xiph.org/vorbis/doc/v-comment.html comment header], each key value pair is specified as a tripplet of the form: <code><nowiki>[length in bytes][key]=[value]</nowiki></code>. Strings are not terminated. For proposed extensions to the default comment tags see [http://reactor-core.org/ogg-tag-recommendations.html Ogg Vorbis Comment Field Recommendations] and [http://www.gophernet.org/articles/vorbiscomment.html Extending Vorbis Comments].

Note, that <code><nowiki>RELEASECOUNTRY</nowiki></code> is no standard tag and not mentioned in any of the proposals; <code><nowiki>DATE</nowiki></code> 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==

{| border="1"
|-
| '''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 ID|Artist UUID]]] || MusicBrainz Artist Id || MUSICBRAINZ_ARTISTID || MusicBrainz Artist Id
|-
| TXXX || TXXX || [[[Release ID|Album UUID]]] || MusicBrainz Album Id || MUSICBRAINZ_ALBUMID || MusicBrainz Album Id
|-
| TXXX || TXXX || [[[Artist ID|Album Artist UUID]]] || MusicBrainz Album Artist Id || MUSICBRAINZ_ALBUMARTISTID || MusicBrainz Album Artist Id
|-
| TXXX || TXXX || [[[Release Artist|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 || [[[PUID|PUID UUID]]] || MusicIP PUID || MUSICIP_PUID || MusicIP PUID
|-
| UFID || UFID || [[[Track ID|Track UUID]]] || (OwnerID is: <code><nowiki>http://musicbrainz.org</nowiki></code>) || 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==

[[Image:Alert.png]] ''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 <code><nowiki>0x00</nowiki></code> terminated ISO-8859-1 string. Its value is the album's [[Disc ID|DiscID]] as stored in the [[MusicBrainz]] database.
{| border="1"
|-
| '''ID3v2.3 frame''' || '''ID3v2.4 frame''' || '''Value''' || '''Description''' (TXXX only) || '''Vorbis/FLAC comments''' || '''MP4 (iTunes) tags'''
|-
| TXXX || TXXX || [[[Disc ID|MusicBrainz DiscID]]] || MusicBrainz DiscID || MUSICBRAINZ_DISCID || MusicBrainz DiscID
|}

==Discussion==

It would be nifty if the [[Original Version|OriginalVersion]] could be marked non-canonical/redirect to the latest version. --[[User:MartinRudat|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, [[Answer Me|AnswerMe]]. --[[User:MartinRudat|MartinRudat]]

What should happen for case 3 of [[Release Artist Style|ReleaseArtistStyle]]? Should the [[Artist ID|ArtistID]] for the release be set to the [[Release Artist|ReleaseArtist]] or should it be omitted? How does it effect the setting of the ID3 tag, TCMP? [[Answer Me|AnswerMe]], please. --[[User:MartinRudat|MartinRudat]]

Nasty question; Release vs Album vs backwards combatability. [[Answer Me|AnswerMe]], please. --[[User:MartinRudat|MartinRudat]]

Would it be worthwhile to create links for the rest of the tags, in addition to the [[MusicBrainz Identifier|MusicBrainzIdentifier]] links? Please, [[Answer Me|AnswerMe]]. -- [[User:MartinRudat|MartinRudat]] 10:12, 26 April 2006 (UTC)

Does the tagger write any of the [[MusicBrainz]] metadata to .m4a files?
<ul><li style="list-style-type:none">The old tagger doesn't, Picard does. --[[User:LukasLalinsky|LukasLalinsky]]
</ul>

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") -- [[Milosz Derezynski|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 [[Disc ID|DiscID]] tag after talking to [[User:RobertKaye|RobertKaye]] because the application I'm writing needs access to that metadata. Should I wait until [[libtunepimp]] supports it? Please, [[Answer Me|AnswerMe]]. -- [[User:SeanGoller|SeanGoller]]
<ul><li style="list-style-type:none">I moved it to it's own section, because the table does only list the implemented state of libtunepimp. --[[User:Fuchs|Fuchs]]
</ul>

----

Authors: [[User:DonRedman|DonRedman]], [[User:Shepard|Shepard]], [[User:Fuchs|Fuchs]][http://www.musicbrainz.org/docs/specs/metadata_tags.html OriginalVersion]

[[Category:To Be Reviewed]] [[Category:Documentation]]

Latest revision as of 22:52, 20 May 2015

Redirect to: