Tagger multiple genres problem
Tagger multiple genres problem
I am so confused because each software uses its own format for storing multiple genre tags.
I 've tested foobar, xmplay, mediamonkey, musicbee, mp3tag
I don't know finally which is the correct.
For example when I save "Alternative; Dance" in PF Tagger it is saved as :
(20)/(3)
MediaMonkey reads : "Alternative; /; Dance"
Foobar reads: "Alternative"
MusicBee reads: "Alternative; /(3)"
xmplay reads: "Alternative"
mp3tag reads: "Alternative"
When I save "Alternative; Dance" in foobar I read:
mediamonkey reads: "Alternative; Dance"
xmplay reads: "Alternative;Dance"
musicbee reads: "Alternative; Dance"
PF Tagger reads: "Alternative;Dance"
mp3tag reads: "Alternative; Dance"
Mediamonkey saves the same as foobar.
When I save "Alternative; Dance" in MusicBee I read:
mp3tag has 2 genre tags of "alternative" and "Dance"
MediaMonkey reads : "Alternative; Dance"
xmplay reads : "Alternative"
PF Tagger reads : "Alternative; Dance"
And so on...
Finally... is there any standard on writing multiple genres or every program uses it's own method ?
(is that / in PF a bug ?)
I 've tested foobar, xmplay, mediamonkey, musicbee, mp3tag
I don't know finally which is the correct.
For example when I save "Alternative; Dance" in PF Tagger it is saved as :
(20)/(3)
MediaMonkey reads : "Alternative; /; Dance"
Foobar reads: "Alternative"
MusicBee reads: "Alternative; /(3)"
xmplay reads: "Alternative"
mp3tag reads: "Alternative"
When I save "Alternative; Dance" in foobar I read:
mediamonkey reads: "Alternative; Dance"
xmplay reads: "Alternative;Dance"
musicbee reads: "Alternative; Dance"
PF Tagger reads: "Alternative;Dance"
mp3tag reads: "Alternative; Dance"
Mediamonkey saves the same as foobar.
When I save "Alternative; Dance" in MusicBee I read:
mp3tag has 2 genre tags of "alternative" and "Dance"
MediaMonkey reads : "Alternative; Dance"
xmplay reads : "Alternative"
PF Tagger reads : "Alternative; Dance"
And so on...
Finally... is there any standard on writing multiple genres or every program uses it's own method ?
(is that / in PF a bug ?)
Re: Tagger multiple genres problem
Yes, there are standards defined (depending on the format, e.g. ID3v2, OGG, M4A, APE, ASF, RIFF, etc.)
And ProppFrexx heavily implemented these standards! However a lot of other applications don't!
So I am not sure what audio and TAG format you are using - but from your post I guss we are talking about MP3 files and ID3v2 ?!
Lets take a look at the ID3v2 Specs:
In addition ProppFrexx supports references to the ID3v1 genres as defined above.
So what ProppFrexx is doing is actually correct...
Saving ID3v2 tags:
a) multiple genres are seperated by a "/" within ID3v2.3 tags or seperated by a '/0' within ID3v2.4 tags.
b) if you specified a known ID3v1 genre name it is replaced by the numerical strings
c) if you specified any other genre name it is used as is
Reading ID3v2 tags:
a) multiple genres are seperated by "/" or '/0' (to support v2.3 and v2.4)
b) if a known ID3v1 numeric genre value is given it is replaced by the effective genre name
c) any other genre name is given it is used as is
To present multiple genres given within the tags to the user, ProppFrexx seperates the list of given genre values by a semicolon ";" (as suggested by the ID3 org as well - and like most other taggers/players as well).
ID3v2.3 Example:
"(20)/(3)" : is a list of 2 genres ('Alternative' and 'Dance')
"(20)/Soulful House" : is a list of 2 genres ('Alternative' and 'Soulful House')
"Classic House/Soulful House" : is a list of 2 genres ('Classic House' and 'Soulful House')
"Classic House/Soulful House" : is a list of 2 genres ('Classic House' and 'Soulful House')
"Alternative/Dance" : is a list of 2 genres ('Alternative' and 'Dance')
So I am affraid to say, that most other players are not fully compatible with the ID3v2 specs and as such don't parse them correctly!
In addition some players don't even support the IDv2.4 spaces at all.
Some players incorrectly don't even support multiple genre values or seperate them incorrectly.
However I might think about disabling the use of 'known' numeric genre values in a future release of ProppFrexx to enhance the compatibility with other players.
And ProppFrexx heavily implemented these standards! However a lot of other applications don't!
So I am not sure what audio and TAG format you are using - but from your post I guss we are talking about MP3 files and ID3v2 ?!
Lets take a look at the ID3v2 Specs:
Furthermore the following is defined:ID3v2.3:
TCON
The 'Content type', which previously was stored as a one byte numeric value only (in ID3v1), 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. Multiple values are seperated with the "/" character.
References to the ID3v1 genres can be made by, as first byte, enter "(" followed by a number from the genres list (appendix A) 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]
ID3v2.4:
TCON
The 'Content type', which ID3v1 was stored as a one byte numeric value only, is now a string. You may use one or several of the ID3v1 types as numerical strings, or, since the category list would be impossible to maintain with accurate and up to date categories, define your own. Example: "21" $00 "Eurodisco" $00. You may also use any of the following keywords: RX Remix, CR Cover.
ProppFrexx supports both ID3v2.3 and ID3v2.4 - the version present in a file will be used - if a new ID3 tag is created v2.4 is used!Multiple values in ID3v2.3:
The version 2.3 of the standard prescribes that some fields can contain multiple values separated by the "/" character. The fields that can contain multiple values are: TPE1 TCOM TEXT TOLY TOPE
Multiple values in ID3v2.4:
Version 2.4 of the specification prescribes that the text fields (all the fields starting with a T except TXXX) can contain multiple values separated by a null character. The null character is the one represented by the termination code for the character encoding used.
In addition ProppFrexx supports references to the ID3v1 genres as defined above.
So what ProppFrexx is doing is actually correct...
Saving ID3v2 tags:
a) multiple genres are seperated by a "/" within ID3v2.3 tags or seperated by a '/0' within ID3v2.4 tags.
b) if you specified a known ID3v1 genre name it is replaced by the numerical strings
c) if you specified any other genre name it is used as is
Reading ID3v2 tags:
a) multiple genres are seperated by "/" or '/0' (to support v2.3 and v2.4)
b) if a known ID3v1 numeric genre value is given it is replaced by the effective genre name
c) any other genre name is given it is used as is
To present multiple genres given within the tags to the user, ProppFrexx seperates the list of given genre values by a semicolon ";" (as suggested by the ID3 org as well - and like most other taggers/players as well).
ID3v2.3 Example:
"(20)/(3)" : is a list of 2 genres ('Alternative' and 'Dance')
"(20)/Soulful House" : is a list of 2 genres ('Alternative' and 'Soulful House')
"Classic House/Soulful House" : is a list of 2 genres ('Classic House' and 'Soulful House')
"Classic House/Soulful House" : is a list of 2 genres ('Classic House' and 'Soulful House')
"Alternative/Dance" : is a list of 2 genres ('Alternative' and 'Dance')
So I am affraid to say, that most other players are not fully compatible with the ID3v2 specs and as such don't parse them correctly!
In addition some players don't even support the IDv2.4 spaces at all.
Some players incorrectly don't even support multiple genre values or seperate them incorrectly.
However I might think about disabling the use of 'known' numeric genre values in a future release of ProppFrexx to enhance the compatibility with other players.
Bernd - radio42
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution
ProppFrexx ONAIR - The Playout and Broadcast Automation Solution