Multiple Genres in 1 Genre tag


I wanted to know what would be the standard way to implement multiple genres for my files. There seems to be lots of conflicting information everywhere (even including this forum), and it confuses me.
By multiple genres, I mean both multiple main genres as well as subgenres. For example, I may have a song that is labelled as being Metal, Symphonic Metal, Rock and Gothic Rock.

I don't mind if my current music program can't read all the genres (I'm currently using foobar), as long as they're all stored in a standard way that even 10 years down the line, I should be able to access properly. I'd prefer not using hacks or half-solutions or such.

I'm currently using Mp3tag v2.71, and I my collection has all sorts of tags (FLAC, FLAC (ID3v2), ID3v1, ID3v2.2, ID3v2.3, APEv2, etc). If some of those don't support multiple genres, that is fine.

Thanks in advance!

You should get rid of the APE tags.

To create a multi-value field, use \\ as separator between the individual genres.
Input e.g.
Metal\\Symphonic Metal\\Rock\\Gothic Rock
and you will one GENRE field for each genre when you save it.
And yes: only very few programs can deal with multi-value fields.

Thanks for the help!
Will using "\\" be recognised as a proper tag delimiter for all the tag formats (aside from APE maybe, I guess?). Is it a standard? I've seen some people say to do ";".

The \\ is an indicator solely for MP3tag to create several GENRE fields when saving.
Check the extended tags to see that right now you have more than one GENRE field.
There is no standard to cope with multi-value fields. So the abilities vary from player to player.

E.g. WMP treats "semikolon-blank" as a data separator. Although the data for e.g. composer is in one field, WMP presents each part of the string separately.
iTunes, on the other hand, does not split up the data but shows it as the contents of just one field.

And: players that prefer V1 tags to V2 tags will not be able to cope with user-defined genres.
So, sorry: you have to try it with your preferred player, there is no standard solution.

Oh dear...
Okay, so getting specific, ID3v2.3, which is the tag standard the majority of my music is saved as, supports multiple values for genre, correct? Or am I wrong?

What exactly is the system that the standard uses to support this feature? Does it go into the specifics of what delimiter ("\\" or ";") should be used, or is that just something for our convenience on the tagger side of things, and irrelevant to the way the tags are actually stored?

If I tag my multiple genres separating them with a "\\", would a player that was properly and specifically designed to parse ID3v2.3 tags properly pick up on it (and does such a player currently exist)?

I just don't want to tag my entire collection, and then a couple years down the line learn that the standard has been updated and the new one is not backwards compatible, or nobody uses the standard anymore, or I wasn't following the standard in the first place.

It is not so much the standard but the ability of each player. I think that foobar would be able to show multi-value-fields.

The \\ is the MP3tag-internal indicator to insert a binary 0-byte as "end-of-field" character. As a consequence you get several GENRE fields (which you might not want as most players take just one genre field, mostly the first, and ignore the rest).
You can merge the multi-value fields again with MP3tag and set a different character as separator. If that does not equal the \\ then on saving you get just a single field with all the data in that field, separated by the previously assigned separator.

So even if other programs evolve their functions, MP3tag will help you to adapt your collection.

Thank you so much for your patience with me!

So the concept of having multiple values for a single field (GENRE in this case) is not an inbuilt part of the ID3v2.3 standard? Is it currently just every tagger/player that claims to implement it doing some hacky, half-way solution currently?

Is mp3tag utilising the ID3v2.3 feature of being able to add your own tags (in this case, extra GENRE tags) instead of multiple values in 1 GENRE tag?

MP3tag is not the problem.
Mp3tag shows you the multi-value fields just as it shows the several-values-in-one-field.
It is (usually) the players that let you down.
And hardly any player supports user-defined fields - although they are part of the id3 standard.
Foobar may be the odd one out in that respect.

Oh, I wasn't blaming any one software, just lamenting how there doesn't seem to be a fixed standard.

Either way, thank you again! I had used ";" before as a delimiter in mp3tag, and when I opened it in foobar, it showed all the genres I had listed, separated by ";", except with extra spaces inbetween for readability, I guess. In mp3tag, I changed those ";" to "\\" and saved, and again, when opening the file in foobar, I had the same list of genres, separated by a ";" with spaces inbetween.

I'm assuming this means that they are at least being parsed as separate genres!

Actually, a final question, I realised that for stuff like Metal\\Symphonic Metal and so on, subgenres and genre categories would be more appropriate. Again, apparently ID3v2.3 supports this, how would I implement this in mp3tag?

That may be an incorrect assumption.
It might be that foobar is still reporting whatever is in its database, not the new information in the tags. To be sure, you must re-read the metadata in foobar.

Well, I loaded the song separately into foobar, it showed correctly, I changed the genre tag, it showed the change, and then I changed it back, and it showed that too, so I assume it is fine!