This document is provided for reference purposes only. It is not endorsed by Reactor Core staff or Jonathan Walther, unless otherwise stated. The battle for Christ's Kingdom is always changing, moving to new fronts. The Christian soldier must be trained to prove every thought, ideology, train of reasoning, and claim to truth he meets. Slander is from Satan; Truth is from the Holy Spirit. The wise and the just check every fact for themselves before judging. (1 Thessalonians 5:21, 1 John 4:1-3, John 14:26, John 16:26, Revelation 12:10, Proverbs 14:15, Proverbs 18:13)
Last updated Thu Jul 3 20:35:53 PDT 2003
The following recommendations were developed by a community of Ogg/Vorbis users for their own use.
The purpose of the set of tags in this recommendation is to provide information about the track that contains the tags. It is not the purpose of the tags to provide general information about the piece of music in the track, such as a listing of every recording that contains that same piece of music. External databases and the internal Ogg metadata stream are appropriate for information about the music, except where it fills one of the 4 goals listed below.
Piracy happens. We can't prevent it. At least we can encourage less damaging behaviors, such as making sure than when someone likes a track, they have enough information to reimburse the artist by going out and purchasing the original source media the music came on.
These recommendations are written in the context of http://www.xiph.org/ogg/vorbis/doc/v-comment.html, which is authoritative.
All tags are OPTIONAL; you can have an ogg file with NO tags present and it will still be compliant. It is RECOMMENDED that you put enough tags in the ogg to meet goals 1 through 4 above. The tags needed will vary with each recording, and will often be no more than the tags already used.
Before we continue, here is a nifty bourne shell function you can stick
in your ~/.bash_profile
:
ogg-grep () { REGEX="$1"; shift; for i in "$@"; do vorbiscomment -l "$i"|grep -i "$REGEX" >/dev/null && echo "$i"; done; }
You could use it like this:
ogg-grep "CONDUCTOR=.*Karajan" ~/music/oggfiles/*.ogg
It would display, one per line, all the ogg files where Karajan was the conductor of the piece.
Therefore the users are not affected by these recommendations and need know nothing about them. Player programs ARE affected, and their job should be made as easy as possible.
Therefore, encoders will almost not notice the adoption of these recommendations, unless they wanted to benefit from its increased flexibility, in which case they will rejoice. Ripper and tagging SOFTWARE on the other hand will need to support these recommendations, and again, its job should be made as easy as possible.
Therefore, it is the coders who will be affected most by these recommendations. Their job should be made as easy as possible so they can support it trivially and well.
A compliant Ogg player program will intelligently display, or let the user specify how to display, all the tags in an Ogg file.
A compliant Ogg file may contain tags not in these recommendations.
Compliant tag editors and rippers may support tags not in these recommendations, but should encourage use of recommended tags over tags not in this document.
UTF-8 is the default encoding for tag data. Unfortunately UTF-8 muffed it for Asian languages by doing the equivalent of giving the same character codes to English, Russian, and Greek letters.
Fortunately UTF-8 itself has an internal, standard solution to the problem: http://www.unicode.org/unicode/reports/tr27/#tag which basically says: mark the language of text with U+E0001 LANGUAGE TAG, followed by the RFC 3066 language ID (ie. "ja") encoded in lowercase ASCII plus 0xE0000. This is the only mechanism recognized by this document.
Programs which don't want to interpret such markup can simply ignore it; it is zero width. The scope of the language setting is until the end of the tag, or until a new language setting is encountered, whichever comes first.
Singleton tags, which should only appear once. If one of these tags appears more than once, its last appearance should be displayed if there is only room to display one instance of the tag.
The remaining tags are multiples; if they are present more than once, all their occurances are considered significant.
Here is a typical example for most POP music
ALBUM=Joyride ENSEMBLE=Roxette TITLE=Joyride
Here is what you might see if you played it with ogg123:
Album: Joyride Ensemble: Roxette Title: Joyride Bitstream is 2 channel, 44100Hz
Here is a typical example for CLASSICAL music.
LABEL=Deutsche Grammophon COMPOSER=Gustav Mahler CONDUCTOR=Herbert von Karajan ENSEMBLE=Berliner Philharmoniker PERFORMER=Liza don Getti (soprano) PERFORMER=Joe Barr (piano) OPUS=8 PART="movement 1. Allegreto" TITLE="Symphony no. 4" COMMENT=I was present when this recording was made; met my wife there. COMMENT=The flautist ate a green pickle with a purple egg.
And here is what you might see if you played it with ogg123:
Playing from file ogg/mystery_file_I_got_from_gnutella.ogg Label: Deutsche Grammophon Composer: Gustav Mahler Conductor: Herbert von Karajan Ensemble: Berliner Philharmoniker Performers: Liza don Getti (soprano) Joe Barr (piano) Title: Symphony no. 4 (Opus 8), movement 1. Allegreto Comments: I was present when this recording was made; met my wife there. The flautist ate a green pickle with a purple egg. Bitstream is 2 channel, 44100Hz
Here is a really whacked example that uses all the tags in this document.
OPUS=1 COMPOSER=Stravinsky ARRANGER=Ravel PRODUCER=Fat Fred LYRICIST=Puccini AUTHOR=Reverend Lovejoy CONDUCTOR=Zubin Meta PERFORMER=Nix Nax (piccolo) ENSEMBLE=Upper East German Woodwind Band LABEL=BIZ LABELNO=54001 ISRC=132938420384 EAN/UPN=11111111111 TRACKNUMBER=8 ALBUM=Tootles and Tunes TITLE=The Life and Times of Friar Tux PART=1. Minuet (allegro con molto) GENRE=classical (avant garde) DATE=1974-09-03 recorded LOCATION=Easthampton Cathedral, Chesterwickshire COPYRIGHT=Unclaimed COMMENT=This is the wierdest, ugliest piece of music I've ever heard. Its the ugly duckling of the classical music world.
And here is what it would like like from ogg123
Album: Tootles and Tunes Track: 8 Title: The Life and Times of Friar Tux (Opus 1), first minuet (allegro con molto) Composer: Stravinksy Conductor: Zubin Meta Performer: Nix Nax (piccolo) Ensemble: Upper East German Woodwind Band Arranger: Ravel Lyricist: Puccini Author: Reverend Lovejoy Label: BIZ Copyright: Unclaimed EAN/UPN: 111111111 Genre: classical (avant garde) Producer: Fat Fred Recorded on: Sept 3, 1974 Recorded at: Easthampton Cathedral, Chesterwickshire Comments: This is the wierdest, ugliest piece of music I've ever heard. Its the ugly duckling of the classical music world. It has a monotone reading throughout, of that famous sermon by Reverend Lovejoy, "Life and Times of Friar Tux" Bitstream is 2 channel, 44100Hz
This document is provided for reference purposes only. It is not endorsed by Reactor Core staff or Jonathan Walther, unless otherwise stated. The battle for Christ's Kingdom is always changing, moving to new fronts. The Christian soldier must be trained to prove every thought, ideology, train of reasoning, and claim to truth he meets. Slander is from Satan; Truth is from the Holy Spirit. The wise and the just check every fact for themselves before judging. (1 Thessalonians 5:21, 1 John 4:1-3, John 14:26, John 16:26, Revelation 12:10, Proverbs 14:15, Proverbs 18:13)