This page describes both Tags (which are saved inside your music files and can be read by your music player) and Picard variables which can be used in Picard scripts (for tagging, for file renaming and in several other more minor settings).
All tags are also available as variables, but additional variables which start with '_' are not saved as Tags within your music files.
Variable are used in scripts by wrapping the name between '%' character e.g. '%title%'.
Some variables can contain more than one value (for example, musicbrainz_artistid), and if you want to use only one of the values then you will need to use special script functions to access / set them. To access all the multiple values at one, use the variable normally and Picard will combine them into a single string separated by '; ' (semicolon space).
If a later version of Picard is shown here than the current official version on the MusicBrainz Picard page, then these are beta functionality which will be available in the next official release and a description of how to gain access to these beta versions for testing can also be found on the MusicBrainz Picard page.
The following tags are populated from MusicBrainz data for most releases, without any special Picard settings.
All of these are also available as variables for use in Picard Scripts (for tagging, for file renaming and in several other more minor settings) by wrapping them between '%' symbols e.g. '%title%'.
|artist||Track Artist Name(s) (string)|
|artists||Track Artist Name(s) (multi-value) (since Picard 1.3)|
|artistsort||Track Artist Sort Name|
|albumartistsort||Release Artist's Sort Name|
|releasetype||Release Group Type (see also _primaryreleasetype / _secondaryreleasetype)|
|language||Work lyric language as per ISO 639-3 if track relationships are enabled in Options and a related work exists. (since Picard 0.10)|
|script||Release Script (since Picard 0.10)|
|date||Release Date (YYYY-MM-DD)|
|originaldate||Original Release Date (YYYY-MM-DD) of the earliest release in the Release Group intended to provide e.g. the release date of the vinyl version of what you have on CD. (Included as standard from Picard 0.15, and using the Original Release Date plugin if you are still using a non-NGS version earlier than Picard 0.15)
Note: If you are storing tags in mp3 files as ID3v23 (which is the Windows / iTunes compatible version) then original date can only be stored as a year.
|catalognumber||Release Catalog Number(s)|
|label||Release Label Name(s)|
|discnumber||Disc Number of the disc in this release that this track is on|
|totaldiscs||Total number of discs in this release|
|discsubtitle||The Media Title given to a specific disc.|
|tracknumber||Track number on the disc|
|totaltracks||Total tracks on this disc|
|isrc||ISRC (since Picard 0.12)|
|compilation||(since Picard 1.3, compatible with iTunes) 1 for Various Artist albums, 0 otherwise
(Picard 1.2 or previous) 1 if multiple track artists (including featured artists), 0 otherwise
|musicbrainz_trackid||Recording MusicBrainz Identifier|
|musicbrainz_releasetrackid||Release Track MusicBrainz Identifier (since Picard 1.3)|
|musicbrainz_artistid||Track Artist's MusicBrainz Identifier|
|musicbrainz_albumid||Release MusicBrainz Identifier|
|musicbrainz_albumartistid||Release Artist's MusicBrainz Identifier|
|musicbrainz_discid||Disc ID if album added using CD Lookup (since Picard 0.12)|
These variables are also populated from MusicBrainz data for most releases, without any special Picard settings.
|_albumtracknumber||The absolute number of this track disregarding the disc number i.e. %_albumtracknumber% of %_totalalbumtracks% (c.f. %tracknumber% of %totaltracks%). (Since Picard 1.3)|
|_totalalbumtracks||The total number of tracks across all discs of this release.|
|_releasecomment||Release disambiguation comment (since Picard 0.15)|
|_releaselanguage||Release Language as per ISO 639-3 (since Picard 0.10)|
|_releasegroup||Release Group Title which is typically the same as the Album Title, but can be different.|
|_releasegroupcomment||Release Group disambiguation comment.|
|_primaryreleasetype||Release Group Primary type i.e. Album, Single, EP, Broadcast, Other.|
|_secondaryreleasetype||Zero or more Release Group Secondary types i.e. Audiobook, Compilation, DJ-mix, Interview, Live, Mixtape/Street, Remix, Soundtrack, Spokenword|
|_length||The length of the track in format mins:secs.|
|_rating||Rating 0-5 by Musicbrainz users|
|_dirname||The name of the directory the file is in at the point of being loaded into Picard. (Since Picard 1.1)|
|_filename||The name of the file without extension (since Picard 1.1)|
|_extension||The files extension (since Picard 0.9)|
|_format||Media format of the file e.g. |
|_bitrate||Approximate bitrate in kbps.|
|_channels||No. of audio channels in the file (.wav only)|
|_sample_rate||Number of digitising samples per second Hz (.wav only)|
|_bits_per_sample||Bits of data per sample (.wav only)|
|_multiartist||0 if tracks on the album all have the same primary artist, 1 otherwise. (Since Picard 1.3)|
If you enable tagging with Advanced Relationships, you get these extra tags:
|work||Work Name (since Picard 1.3)|
|writer||Writer Relationship Type (since Picard 1.0; not written to most file formats automatically).|
|composer||Composer Relationship Type|
|conductor||Conductor Relationship Type (releases, recordings), Chorus Master Relationship Type (releases, recordings)|
|performer:<type>||Performer Relationship Type (releases - vocals/instruments, recordings - vocals/instruments),|
|arranger||Arranger Relationship Type,|
|lyricist||Lyricist Relationship Type|
|remixer||Remixer Relationship Type|
|producer||Producer Relationship Type|
|engineer||Engineer Relationship Type|
|mixer||Engineer Relationship Type ("Mixed By") (since Picard 0.9)|
|djmixer||Mix-DJ Relationship Type (since Picard 0.9)|
|license||License Relationship Type (releases, recordings) (since Picard 1.0)|
And if you enable folksonomy tags, you get:
|genre||Pseudo-genre based on folksonomy tags|
If you enable tagging with Advanced Relationships, you get these extra variables:
|_recordingtitle||Recording title - normally the same as the Track title, but can be different.|
|_recordingcomment||Recording disambiguation comment (since Picard 0.15)|
Plugins from Picard Plugins can add more tags.
|genre||Pseudo-genre based on folksonomy tags|
The LastFMPlus plugin is a sophisticated plugin that tries to provide stable and meaningful genre selections from the ever-changing and idiosyncratic list provided by lastFM.
The LastFMPlus plugin is very configurable and examples provided here are based on the default lists provided on the Tag Filter List tab of the LastFMPlus options page.
|grouping||Top-level genres - default list: Audiobooks, Blues,
Classic rock, Classical, Country, Dance, Electronica, Folk, Hip-hop, Indie, Jazz, Kids, Metal, Pop, Punk, Reggae, Rock, Soul, Trance
|genre||Specific detailed genres, e.g. if group is Rock, genre
could be one of Acid rock, Acoustic rock, Alternative metal, Alternative rock, Art rock, Blues rock, Boogie rock, Brit rock, Christian rock, College rock, Country rock etc.
|mood||How a track 'feels' e.g. Happy, Introspective, Drunk etc.|
|Comment:songs-db_Occassion||Good situations to play a track e.g. Driving, Love, Party etc.|
|Comment:songs-db_Custom1||Decade e.g. 1970s|
|Comment:songs-db_Custom2||Category e.g. Female Vocalist, Singer-Songwriter etc.|
|Comment:songs-db_Custom3||Country e.g. British|
|Original Year||Original Year that the track was released
(compared to Original Release Date, the earliest release date of the entire Album)
Note 1: This plugin makes a large number of web services calls to get track-specific data, so loading a large number of albums / tracks could take a significant amount of time.
Note 2: Original Year does not seem to be working correctly at present.
For technical details on how these tags are written into files, see Picard Tag Mapping.
For ID3 based tags i.e. mp3 files, you can set ID3 tags directly from your scripts by setting a special variable starting '_id3:'. Currently only ID3 comment (TXXX) frames are supported using '%_id3:TXXX:<description>%', for example
$copy(_id3:TXXX:PERFORMERSORTORDER,artistsort). (Since Picard 0.9)
- You can merge this with composers with a script like