Tag Mapping

From Hydrogenaudio Knowledgebase
Revision as of 16:28, 20 August 2021 by Serial (talk | contribs) (Add missing column separators)

Introduction

This page attempts to document a useful mapping between the tagging schemes used on various (audio) file formats. Hopefully this will help those developers trying to transcode or move audio data around and wish to retain their tags. It is hopefully also of use to developers that read and write metadata from audio files.

Please note that this page is about mapping tags to each other, it does not detail nor dictate the actual way the metadata is stored nor any limitations (or lack thereof). This is way beyond the scope of this page.

The terms metadata/tag/field may be used intermittently on this page to mean the same thing. Also note that this page might not be complete, and may never will be.

Please do not rely on the content being accurate.


Organization

The below tables are organized into categories of data, and within each category the ordering is roughly as follows:

1. tags that apply to a wider range of data (e.g. a whole CD) come before tags that apply to a narrower range of data (e.g. one track).

2. tags are sorted alphabetically where this is relevant.

3. tags that are more widely supported come before tags that are less widely supported.

4. tags that fall into smaller unnamed sub-categories are grouped together.

5. tags that appear very similar but which have not yet been mapped are listed next to each other.

This document will not deal with approaches to tagging, except where certain approaches to tagging are required to make mapping work.


Mapping Tables

Titles

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Album Title Album (30 chars) TAL TALB [3] TALB ©alb [5] WM/AlbumTitle [5] ALBUM S [6] [7] Album [5] IPRD [8] upnp:album [9]
Album Title Sort Order TSOA [10] / XSOA [5] TSOA soal [5] WM/AlbumSortOrder [5] ALBUMSORT [5] ALBUMSORT [5]
Original Album Title [10] TOT TOAL [3] TOAL
Disc [5] / Set [10] Subtitle (for multi-disc sets) TSST [10] TSST ----:com.apple.iTunes:DISCSUBTITLE [5] WM/SetSubTitle [5] DISCSUBTITLE [5] DiscSubtitle [5]
Show Name tvsh [5]
Show Name Sort Order sosn [5]
Content Group [10] TT1 TIT1 [3] TIT1 ©grp [5] WM/ContentGroupDescription [5] GROUPING [5] Grouping [5]
Track Title Title (30 chars) TT2 TIT2 [3] TIT2 ©nam [5] Title [5] TITLE S [6] [7] Title [5] INAM [11] [8] dc:title [9]
Track Title Sort Order TSOT [10] / XSOT [5] TSOT sonm [5] WM/TitleSortOrder [5] TITLESORT [5] TITLESORT [5]
Track Subtitle[10] TT3 TIT3 [3] TIT3 ----:com.apple.iTunes:SUBTITLE [5] WM/SubTitle [5] SUBTITLE [5] Subtitle
Version VERSION S [6] [7]
Part PART M [7]
Opus OPUS S [7]
Chapter name CHAPTERxxxNAME [12]

People & Organizations

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Album Artist TP2 TPE2 [3] TPE2 aART [5] WM/AlbumArtist [5] ALBUMARTIST [13] [5] Album Artist [5] upnp:albumArtist [9]
Album Artist Sort Order TSO2 [10] / TXXX:ALBUMARTISTSORT [5] " soaa [5] WM/AlbumArtistSortOrder [5] ALBUMARTISTSORT [5] ALBUMARTISTSORT [5]
Track Artist Artist (30 chars) TP1 TPE1 [3] TPE1 ©ART [5] Author [5] ARTIST S [6] [7] Artist [5] IART [8] upnp:artist [9]
Track Artist Sort Order [10] TSOP [10] / XSOP [5] TSOP soar [5] WM/ArtistSortOrder [5] ARTISTSORT [5] ARTISTSORT [5]
Arranger IPL:arranger IPLS[3]:arranger [5] TIPL:arranger ARRANGER M [7] Arranger [5]
Author / Writer TXT TEXT [3] TEXT AUTHOR M [7] IWRI [11]
Writer [5] WRITER [5] Writer [5]
Composer TCM TCOM [3] TCOM ©wrt [5] WM/Composer [5] COMPOSER M [7] [14] Composer [5] IMUS [11] upnp:author [9]
Composer Sort Order TSOC [10] TSOC [10] soco [5]
Conductor TP3 TPE3 [3] TPE3 ----:com.apple.iTunes:CONDUCTOR [5] WM/Conductor CONDUCTOR M [7] Conductor [5]
Engineer [5] IPL:engineer IPLS[3]:engineer TIPL:engineer ----:com.apple.iTunes:ENGINEER [5] ENGINEER [5] Engineer [5]
Ensemble ENSEMBLE M [7]
Involved People [15] IPL IPLS [3] TIPL
Lyricist TXT=Lyricist/Lyrics TEXT [3] [10] [5] TEXT ----:com.apple.iTunes:LYRICIST [5] WM/Writer [5] LYRICIST M [7] Lyricist
Mix-DJ [5] IPL:DJ-mix IPLS:DJ-mix [5] TIPL:DJ-mix [5] ----:com.apple.iTunes:DJMIXER [5] DJMIXER [5] DJMixer [5]
Mix Engineer [5] IPL:mix IPLS:mix [5] TIPL:mix [5] ----:com.apple.iTunes:MIXER [5] MIXER [5] Mixer [5]
Musician Credits [15] TMCL
Organisation ORGANIZATION [6]
Original Artist [10] TOA TOPE [3] TOPE
Original Lyricist [15] TOL TOLY [3] TOLY
Performer IPLS [3] [5] TMCL [5] PERFORMER M [6] [7] Performer [5]
Producer [5] IPL:producer IPLS[3]:producer TIPL:producer ----:com.apple.iTunes:PRODUCER WM/Producer PRODUCER [5] Producer IPRO [11] upnp:producer [16]
Publisher TPB TPUB [3] TPUB PUBLISHER S [7] upnp:publisher [16]
Label TPB [5] maps to TPUB CHECK! ----:com.apple.iTunes:LABEL [5] WM/Publisher [5] LABEL S [7] Label [5]
Label Number LABELNO S [7]
(Internet[3]) Radio Station [10] TRSN [3] TRSN
(internet[3]) Radio Station Owner [10] TRSO [3] TRSO
Remixed By [10] / Mix Artist [15] TP4 TPE4 [3] TPE4 ----:com.apple.iTunes:REMIXER [5] WM/ModifiedBy [5] REMIXER [5] MixArtist [5]
Soloists SOLOISTS [13]

Counts & Indexes

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Disc Number TPA=Disc Number/Disc Total TPOS=Disc Number/Disc Total [3] " disk [5] WM/PartOfSet [5] DISCNUMBER S [7] 4 Disc [5]
Disc Total TPA=Disc Number/Disc Total TPOS=Disc Number/Disc Total [3] " disk [5] DISCTOTAL [14] and TOTALDISCS [5] Disc [5]
Track Number Album Track TRK=Track Number/Track Total TRCK=Track Number/Track Total [3] " trkn [5] WM/TrackNumber [5] TRACKNUMBER S [6] [7] Track [5] IPRT [11] or ITRK [8] upnp:originalTrackNumber [9]
Track Total TRK=Track Number/Track Total TRCK=Track Number/Track Total [3] " trkn [5] TRACKTOTAL [14] and TOTALTRACKS [5] Track [5] IFRM [11]
Part Number PARTNUMBER M [7]
Chapter start time CHAPTERxxx [12]
Length [15] TLE TLEN [3] TLEN
Popularimeter [15] or Rating [5] POP POPM [3] POPM WM/SharedUserRating [5] RATING:user@email [5]
Rating (double meaning) rate (PG not popularity) RATING [13] (popularity?) IRTD [11] (PG not popularity) pv:rating [9] (PG not popularity)

Dates

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Recording Date TYE+TDA(+TIM) TYER+TDAT(+TIME[17]) [3] TDRC [4] ©day (?) [5] DATE M [6] [7] ICRD [11] [8] but [11]=written dc:date [9] [16]
Year Year (4 chars) TYE TYER [3] part of TDRC ©day (?) WM/Year [5] part of DATE Year [5]
Original Release Date [10] TOR (year) TORY (year) [3] TDOR [4] WM/OriginalReleaseYear (year) [5] ORIGINALDATE [5]
Recording Dates, long date format [10] TRD TRDA [3] TXXX [10]
(Podcast) Release Date [10] [17] TDRL (release time)
Tagging Time [15] TDTG
Period PERIOD [13]

Identifiers

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
ISRC TRC TSRC [3] TSRC ----:com.apple.iTunes:ISRC [5] WM/ISRC [5] ISRC S [6] [7] ISRC [5]
EAN EAN/UPN S [7]
Product Number PRODUCTNUMBER [14]
Barcode [5] TXXX[3]:BARCODE TXXX:BARCODE ----:com.apple.iTunes:BARCODE WM/Barcode BARCODE [5] Barcode
Catalogue Number TXXX[3]:CATALOGNUMBER [5] TXXX:CATALOGNUMBER [5] ----:com.apple.iTunes:CATALOGNUMBER [5] WM/CatalogNo [5] CATALOGNUMBER [5] CatalogNumber [5]
UPC UPC [13]
MusicBrainz IDs [5] Various Various Various
CDDB ID?
AccurateRip Disc ID ACCURATERIPDISCID S [13]
Podcast ID TGID [15] TGID [15]
CD TOC WM/MCID [18] ITOC [18]

Flags

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Compilation TCMP TCMP cpil [5] COMPILATION S [13] [5] Compilation [5]
Podcast [15] PCST [19] PCST [19] pcst [5]

Ripping & Encoding

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Encoded By (person/organisation) TEN TENC [3] TENC WM/EncodedBy [5] ENCODED-BY S [7] [20] [14] EncodedBy [5] ITCH [11]
Encoder (software) TSS TSSE [3] TSSE ©too [5] WM/ToolName + WM/ToolVersion ENCODER [20] [14] ISFT [11]
Encoder Settings TSS TSSE [3] TSSE WM/EncodingSettings ENCODING S [7] / ENCODER SETTINGS S [13]
Encoding Time [15] TDEN
Gapless Playback pgap [5]
File Type [15] TFT TFLT [3] TFLT
Media Type [10] / Release Format [5] TMT TMED [3] [10] TMED ----:com.apple.iTunes:MEDIA [5] WM/Media [5] MEDIA [5] Media [5] ISRF [11]
Source Media SOURCEMEDIA S [7] [14]
Source SOURCE [13]
Original Filename [15] TOF TOFN [3] TOFN
AccurateRip Result ACCURATERIPRESULT S [13]
ReplayGain Album Gain TXX:REPLAYGAIN_ALBUM_GAIN (?) TXXX[3]:REPLAYGAIN_ALBUM_GAIN " REPLAYGAIN_ALBUM_GAIN S [20]
ReplayGain Album Peak TXX:REPLAYGAIN_ALBUM_PEAK (?) TXXX[3]:REPLAYGAIN_ALBUM_PEAK " REPLAYGAIN_ALBUM_PEAK S [20]
ReplayGain Track Gain TXX:REPLAYGAIN_TRACK_GAIN (?) TXXX[3]:REPLAYGAIN_TRACK_GAIN " REPLAYGAIN_TRACK_GAIN S [20]
ReplayGain Track Peak TXX:REPLAYGAIN_TRACK_PEAK (?) TXXX[3]:REPLAYGAIN_TRACK_PEAK " REPLAYGAIN_TRACK_PEAK S [20]

URLs

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Audio Source Webpage URL [10] WAS WOAS [3] WOAS
Chapter URL [12] CHAPTERxxxURL
Commercial Information URL [10] WCM WCOM [3] WCOM
Copyright URL WCP WCOP [3] WCOP
File Webpage URL [10] WAF WOAF [3] WOAF
Track Artist Web Page URL 7 WAR WOAR [3] WOAR
Radio Station URL [15] WORS [3] WORS
Payment URL [10] WPAY [3] WPAY
Publisher URL [10] WPB WPUB [3] WPUB
Podcast URL [15] WFED [19] WFED [19] purl [5]

Style

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Genre Genre (Byte 80 or 126) Varies TCON [3] (not multiples!) TCON ©gen WM/Genre GENRE M [6] [7] IGNR [8] upnp:genre [9] [16]
Initial Key TKE TKEY [3] TKEY
Mood [15] TMOO TMOO ----:com.apple.iTunes:MOOD [5] WM/Mood [5] MOOD [5] Mood [5]
Style STYLE M [13]
Beats Per Minute 7 TBP TBPM [3] TBPM tmpo [5] WM/BeatsPerMinute BPM [5] BPM [5]

Miscellaneous

Name ID3v1.1 [1] ID3v2.2 [2] ID3v2.3 [3] ID3v2.4 [4] iTunes MP4 WMA Vorbis Comment APEv2 Matroska RIFF UPnP
Comments Comment (28 chars) COM COMM [3] COMM ©cmt WM/Comments COMMENT M [7] Comment ICMT [11] [8]
Description TIT3(!) [17] " desc [17] DESCRIPTION [6]
Podcast [15] / Long [17] Description TDES [19] [15] TDES [19] [15] ldes [17]
Contact CONTACT [6]
Copyright Message TCR TCOP [3] TCOP cprt [5] Copyright [5] COPYRIGHT S [6] [7] Copyright [5] ICOP [11]
Cover Art PIC APIC [3] APIC METADATA_BLOCK_PICTURE [20] [14] not COVERART [20] which is deprecated Cover Art (Front)
Instrument INSTRUMENT [13] (with performer?)[5]
Language [10] TLA TLAN [3] TLAN ----:com.apple.iTunes:LANGUAGE [5] WM/Language [5] LANGUAGE [5] Language [5] ILNG [11] dc:language [16]
License [5] WCP (single URL) WCOP (single URL) / TXXX:LICENSE (multiple or non-URL) [5] " ----:com.apple.iTunes:LICENSE LICENSE LICENSE S [6] [7]
Location LOCATION M [6] [7]
(File) Owner [10] TOWN [3] TOWN
Podcast Category [15] TCAT [19] TCAT [19] catg [17]
Podcast Keywords [17] TKWD TKWD keyw [17]
Podcast GUID [17] TGID TGID egid [17]
Rights RIGHTS [20] proposed
Script [5] TXXX[3]:SCRIPT TXXX:SCRIPT ----:com.apple.iTunes:SCRIPT WM/Script SCRIPT Script
Unsynced Lyrics [10] TXT=Lyricist/Lyrics USLT [3] USLT ©lyr [5] WM/Lyrics [5] LYRICS [5] Lyrics [5]

Additional Information

ID3v2.2 genres

The following is an excerpt from the ID3v2.2 specification, section 4.2.1:

The content type, which previously (in ID3v1.1, see appendix A) was
stored as a one byte numeric value only, is now a numeric string. You
may use one or several of the types as ID3v1.1 did or, since the
category list would be impossible to maintain with accurate and up to
date categories, define your own.
References to the ID3v1 genres can be made by, as first byte, enter
"(" followed by a number from the genres list (section A.3.) and
ended with a ")" character. This is optionally followed by a
refinement, e.g. "(21)" or "(4)Eurodisco". Several references can be
made in the same frame, e.g. "(51)(39)". If the refinement should
begin with a "(" character it should be replaced with "((", e.g. "((I
can figure out any genre)" or "(55)((I think...)". The following new
content types is defined in ID3v2 and is implemented in the same way
as the numerig content types, e.g. "(RX)".

RX Remix
CR Cover

—M. Nilsson,ID3 tag version 2 [2]


Issues

Due to the re-purposing of ID3v2's TPE2 as Album Artist, we have no field to store the name of the Orchestra, yet we have a dedicated field for the Conductor.

Author / Writer / Lyricist clash through ID3v2 (worse if artist=author or title=author!)

Performers vs involved people vs musicians. All musicians are involved people; not all involved people are necessarily musicians!

Dates - some are specific (recorded/released/tagged) others are just a non-specific date.

Mp3tag

Mp3tag contains some mappings in its initial configuration:

Tag Source Target
VorbisComment DATE YEAR
VorbisComment ORGANIZATION PUBLISHER
VorbisComment TRACKNUMBER TRACK

These mappings were previously internal to Mp3tag, they are now included as initial values in the "User-defined field mappings" preference, which was introduced in version 2.45.

Notes

  1. a b c d e f g h i j ID3v1.1 at id3.org https://id3.org/ID3v1
  2. a b c d e f g h i j k ID3v2.2 at id3.org https://id3.org/id3v2-00
  3. a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw ID3v2.3 at id3.org https://id3.org/id3v2.3.0
  4. a b c d e f g h i j k l ID3v2.4 at id3.org https://id3.org/id3v2.4.0-frames
  5. a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb MusicBrainz Picard tag mapping http://picard.musicbrainz.org/docs/mappings/
  6. a b c d e f g h i j k l m n o http://xiph.org/vorbis/doc/v-comment.html
  7. a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad http://age.hobba.nl/audio/mirroredpages/ogg-tagging.html
  8. a b c d e f g foobar2k RIFF WAV tagging http://www.hydrogenaudio.org/forums/index.php?showtopic=105749&st=0&p=865737&#entry865737
  9. a b c d e f g h i Twonky http://www.twonkyforum.com/mediawiki/index.php/Mapping_your_Media_file_tags_to_the_Twonky_Database
  10. a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae foobar2k ID3 Tag Mapping http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:ID3_Tag_Mapping
  11. a b c d e f g h i j k l m n o Age Bosma http://age.hobba.nl/audio/tag_frame_reference.html
  12. a b c http://wiki.xiph.org/Chapter_Extension
  13. a b c d e f g h i j k l dBPowerAMP
  14. a b c d e f g h http://wiki.xiph.org/Field_names
  15. a b c d e f g h i j k l m n o p q r s t mp3tag main tags http://help.mp3tag.de/main_tags.html
  16. a b c d e UPnP http://www.upnp.org/specs/av/UPnP-av-ContentDirectory-v3-Service.pdf
  17. a b c d e f g h i j k DinkyPumpkin https://github.com/dinkypumpkin/get_iplayer/wiki/tagging
  18. a b dBPowerAmp storage of CDTOC https://forum.dbpoweramp.com/showthread.php?16705-FLAC-amp-Ogg-Vorbis-Storage-of-CDTOC
  19. a b c d e f g h Podcast extensions https://github.com/judwhite/IdSharp/pull/1
  20. a b c d e f g h i http://wiki.xiph.org/VorbisComment

See also

External links

Other similar tag mappings: