The goal of this document is to provide a logically consistent framework for tagging both commercial and noncommercial audio recordings in a relatively simple fashion (hah! fitting both needs together is a somewhat complex task that will require resolution of competing needs and exceptions!). This system grew out of frustration with the incompleteness/inconsistency of standard tagging systems (see Hydrogen Audio's terrific primer page for additional background).
Note the “standard” originally established for tag fieldnames relied only on upper case A-Z characters. Later developments relaxed this “requirement” to permit UTF-8 characters, though this system, being english-biased, sticks to the standard alphanumeric subset of 26 roman letters plus 10 decimal digits. In some cases compound word fieldnames are concatenated (eg., ALBUMARTIST), but in other cases they may be underscore-linked (none used here) or space-delimited (eg., ALBUM ARTIST) for readability. In other words, it's not especially consistent!
Tags named in brackets are optional (but useful!); these tags probably don't apply to some sorts of recordings (for example, a commercial release probably doesn't have an associated venue).
Most of the examples (and syntax) below are specific to Foobar2000, since that's the media engine I use for playing and tagging my collection, however, the general concepts certainly apply to other applications, such as MediaMonkey, MusicBrainz Picard or Tag&Rename.
As with the initial presentation of tags for definition, later references to tag-names are given in upper-case rather than %-delimited, as used in Foobar 2000 string formatting commands, in order to immediately distinguish them from plain text.
As with Foobar 2000 usage, bracket-delimited tags are optional, and may be omitted or left empty at user discretion.
The following lists relate all of the tags defined in detail in the following sections.
At present the shortcuts don't work because the anchor links are broken with the latest definition list plugin. Rats!
ARTIST <html>♦</html> ARTISTSORT <html>♦</html> ABBR <html>♦</html> ALBUM ARTIST <html>♦</html> ALBUM <html>♦</html> STATUS <html>♦</html> EVENT <html>♦</html> VENUE <html>♦</html> CITY <html>♦</html> STATE <html>♦</html> ST <html>♦</html> COUNTRY <html>♦</html> CCODE
DATE GIG <html>♦</html> DATE RELEASE <html>♦</html> DATE REPRINT <html>♦</html> DATE TAGGED <html>♦</html> DATE PURCHASED <html>♦</html> DATE LONG
PERFORMER <html>♦</html> CREDITS <html>♦</html> URL <html>♦</html> REFLINK <html>♦</html> SRCCHAIN <html>♦</html> SRCNOTES <html>♦</html> XFRCHAIN <html>♦</html> XFRNOTES <html>♦</html> NOTES <html>♦</html> TAGSYS <html>♦</html> ISO639-2 <html>♦</html> TOTALTRACKS
TRACK <html>♦</html> TITLE <html>♦</html> SET <html>♦</html> S TRACK <html>♦</html> S TOTALTRACKS <html>♦</html> DISC <html>♦</html> D TRACK <html>♦</html> D TOTALTRACKS <html>♦</html> TRACKNOTE
These tags apply to a group of files representing an album or a show. The files need not be enclosed in any sort of containing archive or directory, though both are useful for establishing a physical hierarchy of files.
Note that leading articles should be moved to the end no matter the language. Some examples:
'the Rolling Stones' is entered as 'Rolling Stones, the'
'Das Racist' ⇒ 'Racist, Das'
'Los Lobos' ⇒ 'Lobos, Los'
If this seems weird to you, it's because you're not thinking like a librarian/archivist.
Note that an NCO can easily become CRM (due to the action of the artist or agents thereof), but a CRM cannot easily become an NCO.
Instant-live recordings and promotional material is generally CRM, even if it was offered freely by the artist/management.
A commercial recording that is out of print is still a CRM provided that ownership rights to the recording have not passed into the public domain!
The fact that copyright law varies from country to country complicates the situation immensely.
I would argue further that ROIO's sold without artist approval are NCO rather than CRM.
In any case, it is obviously an exercise for the tagger/reader to determine which of the two labels should be applied!
Can be set automatically via $date(%last_played%) or $date(%last_modified%) in foobar2000.
"name: instrument[, instrument2[,instrument3...]];" eg., "Jerry Garcia: guitar, vox; John Kahn: bass; Ron Tutt: drums."
The final list element should terminate with a period instead of a semicolon. This field may be modified on a per-track basis. The field may also include conductors, choir-masters and any other contributors deemed worthy of note by the tagger, where the job function appears as an “instrument”. This mode of usage obviates the need for specialized but little-used tags such as CONDUCTOR, LYRICIST, REMIXER and so on.
When viewed in a JSON editor, this sort of list will automatically be decomposed into it's individual elements. But as a raw tag, things are not so readabile, as each list element follows the next without whitespace (a newline would be terrific!), and asking for the list to be alpha-ordered doesn't make for ease of entry.
Far better would be an unordered array {[name1, instrument1],[name2, intrument2],…} where alphabetization and output-formatting of multi-element entries is performed by the software rather than the user.
Unfortunately, sorting a list of names in a manner that catches all of the weirdness allowed in English usage has stymied many a programmer. If anyone knows how to program Foobar 2000 to accomplish this task, please let me know!
Also, as of v2.4, this field may include markdown formatting (most likely initial bullets: “* ”), but such visual markup is NOT required. As of v2.5, use of markdown formatting is discouraged – a tag is considered raw content, not formatted data.
Recorded by Jean Lerond <lerond@gmail.com> Transfered by Randy Vogel <randy@funfolks.net> on 2012-03-14 Tagged by [Randy Vogel] on 2012-03-16
I realize that the example uses some of the date fields – I think this makes the credits more useful and readable – don't you? Note also the use of markdown reflink style in the third example. In order for that link to be valid, the REFLINK field MUST include the link target, as shown in the next preview box
[Randy Vogel]: mailto:randy@funfolks.net
[URL handle](URL)
Or by reference, using a subsequent entry in the REFLINK field:
%URL% contains [URL handle] %REFLINK% contains [URL handle]: URL
Choice to use either style is left to the tagger. The goal here is for ease of readability.
Any or all of the following URLs may be included: official artist/performer, record label/publisher, copyright/legal, download/torrent source, lyrics page, et cetera; each may include optional explanatory text comments.
Three such useful URLs are:
Note that like many other resources on the Internet, MuscBrainz is imperfect, and the album used as an example does not appear to connect properly to Pharoah the individual, only to his eponymous quartet. Foobar 2000 can find these links semiautomagically via the optional musicbrainz plugin component. I have nothing against including pointers to other resources, such as pages from AllMusic or Discogs that offer the first release of Pharoah's classic tune, recorded on Valentine's Day in 1969 – the point is simply to direct the interested reader to further information regarding this listening matter.
For live shows, I prefer references to the eTree database, particularly for shows and sources. For example:
In practice, however, I commonly just use 'eTree showID' or 'eTree shnID' rather than the more detailed handles given in the two previous examples, hence:
[eTree showID](http://db.etree.org/lookup_show.php?shows_key=391656). [eTree shnID](http://db.etree.org/shn/123814).
If known, it's nice to specify the date of the transfer operation(s), as shown in the examples.
While the previously covered collection-level tags will be uniform throughout a particular show or release, track-level tags will necessarily vary.
Moved to a separate page to improve readability: Deprecated Tags
Moved to separate page: changelog