Is there a way to mark songs as being cover versions, e.g., "Losing my religion" is originally from R.E.M., and I want to mark the Graveworm version as being a cover. Eventually I'd like to be able to make a playlist of only covers.
I looked at http://id3.org/Frames for MP3 and https://www.xiph.org/vorbis/doc/v-comment.html for ogg. They mention an "Original artist(s)/performer(s)" and "Performer" field respectively, plus the plain old "Artist" field. Clementine (the player of my choice) does also show a Performer field and an Artist field, but I don't see how to make a playlist on Artist and Performer field being different.
Googling this is hard, cause cover is always assumed to be the album artwork.
How can I mark ogg and mp3 files as cover versions so that players can support selecting covers or marking covers?
To the best of my knowledge there is no field in ID3v1 nor ID3v2 that can do that for MP3. And so far there is nothing in Ogg either.
However, Ogg Comments are a pretty loose standard, it is basically a bunch of string=string
pairs, and it is only a matter of teaching a particular player to respect a particular tag. Another thing is that the tags can repeat, so there would be no problem with you adding TYPE=cover
to the songs that you want.
vorbiscomment -a -t "TYPE=cover" file.ogg
Of course, players won't jump on the bandwagon the next day after you'll begin to mark those, but you can output all the files that you've marked as covers with this script (and maybe create playlists out of them or what-not):
#!/bin/bash
#GPLv3
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
FILES=$(find . '(' -name '*.ogg' -o -name '*.oga' ')' -a ! -empty -a -readable)
for FILE in $FILES
do
TYPE=$(vorbiscomment -l $FILE | grep -i 'TYPE=cover')
if [ $TYPE ]
then
echo $FILE
fi
done
IFS=$SAVEIFS
You have also touched on another weird thing in the way that Ogg comments are currently being treated. Some players just take the first value that they deem to mean something, and others simply concatenate all the values together. xiph has long ago announced that they will not mandate which of the fields means what, taking the position that it's the decision that should be made downstream. While i completely agree with this decision it does create this mess for now. The ball is now in the field of the developers of the players that play Ogg to come together and decide on some rational standard, that takes into account all the fluidity of Ogg comments.