Multiple Genres in MP3 ID3 Tags

I know that ID3v2 supports adding multiple genre tags to a file but does any software support this? I have not seen any that does and I don’t understand why. Most music belong in multiple sub genres, take Fleetwood Mac for instance, it belongs in Rock, but also a sub category of Classic Rock. Most people just classify it as Classic Rock, but what if you want to here a mix of all Rock songs, then you would have to select each subgenre of Rock. Also imagine the issue of a song that people can not agree on what the subgenre is.

I know I am not the first to talk about this problem, but for some reason I have not seen a whole lot of activity in this area. I know most of us do not have our music classified with subgenres, but if no software supports them then how are we ever going to start.

I know that there are other technologies such as smart playlists, but until we incorporate the use of the ID3v2 tag the way it was meant to be used I don’t think it will be a mainstream feature. Does anyone know of a player/library that uses this technology? I have not tinkered with what happens on my iPod yet but I imagine it will only see the first genre and not the others.

This entry was posted in Programming. Bookmark the permalink.

7 Responses to Multiple Genres in MP3 ID3 Tags

  1. Net147 says:

    It’s not suprising that most software doesn’t implement support for multiple genres because most of the pre-existing code written for ID3v2 is fairly limited in that they don’t completely support the whole ID3v2 specification in its entirety.

    That is because ID3v2 is quite a large specification to implement entirely. The last code library I wrote for reading/writing ID3v2 tags only allowed one genre to be read/written from the tag.

    However, i’m currently writing an ID3v2 library in C# and i’m intending to implement support for multiple genres as part of a media player I am writing in C#.

  2. gendo says:

    are you interested coop?
    I am just checking out, how to minimize the effort to spent, like what database, which player is ready to use to make a great media player. mostly interested in music.
    cheers. g
    wrote you a mail with few more detail.
    Interested? Hope.

  3. Marc says:

    Try MEXP for Winamp. I use it, and it can store ID3v2.3 and even ID3v2.4 tags. With this plugin, it’s possible to store multiple genres (ID3v2.4), although I don’t have a clue whether or not this is conform standards – I suppose it is.

    Cheers,
    Marc

  4. Arcturus says:

    I don’t know if I am stating something everyone in this forum knows already and whether it even has any bearing on ID3v2.4 (whatever that is) but I doscovered you can enter multiple Genres for a given track into MediaPlayer 9 by using a semi-colon delimiter between the genres. MediaPlayer will play the song no matter which of the genres you choose to play. The only trouble with this is that at first I could use 4 genres for any given track, but after tagging much of my library it suddenly reduced itsefl to a max of 2.

    Discard, use or pass on; feel free to ask for more details (I don’t monitor this forum, so email me directly please).

  5. Pat Furrie says:

    Kevin, you’re correct that:

    1) Multiple genre tagging of songs would be very useful…
    2) And nobody is doing anything about it.

    Several months ago, feeling the need to stoke the fires for multiple genre support, I got myself on the official ID3v2 mailing list. I listened a bit to get a feel for what was going on, and then eventually ventured a suggestion for a multiple-genre implementation.

    They weren’t interested.

    If they had a solution themselves, they didn’t offer it in the discussion. Perhaps none of the people involved bother to categorize their collections.

    For what it’s worth, the complete text of the email I sent them follows.

    ———-
    I?ve been considering how multiple genres can be assigned via ID3.

    What I do understand:

    1) ID3v1 had a single byte which mapped to a fixed and limited list of genres.

    2) ID3v2 allows for a genre frame which can have some mix of genres.

    3) Very few programs, if any, are using the multiple genre capability.

    4) Programs like iTunes seem to allow multiple genres, but in reality users are only creating a new genre which is the composite of existing types. However there is no cross-referencing: I can give an MP3 the ?genre? of ?rock soundtrack? but if I list everything in the ?rock? or ?soundtrack? genres, it doesn?t show up. Additionally, ?soundtrack, rock? is not equivalent to ?rock, soundtrack? in the iTunes world.

    One way of dealing with it is to utilize free-form text with delimiters, allowing users to enter as many of whatever genres they come up with. However, this has a few problems:

    1) Because the length of the field is unknown, padding must be used, and the possibility still exists of needing to re-write the rest of the file due to exceeding the space given by any padding.

    2) Any spelling errors create additional genres when they shouldn?t exist (does ?soundtrack? equal ?sound track??)

    3) What works for English doesn?t work for other languages. Localization is difficult.

    The original one-byte method in ID3v1 did have the potential of being able to be localized, since the genre name lookup table could be altered for whatever the user?s language is. But it only allows a single genre, and it is easy to show that most files (of any type) can be reasonably listed in multiple categories.

    Another solution is to use the same look-up table, but have multiple delimited values listed.

    Let?s bit-map the genre information. Make the bit-mapped switches correspond to smaller divisions of description as opposed to compounded versions. For example, terms like ?Rock,? ?Classic Rock,? ?AlternRock,? ?Instrumental Rock,? ?Gothic Rock,? ?Folk-Rock,? ?Progressive Rock,? ?Psychedelic Rock,? ?Southern Rock,? ?Symphonic Rock,? ?Hard Rock,? ?Slow Rock,? and ?Punk Rock? are replaced by ?Rock,? ?Classic,? ?Alternate,? ?Instrumental,? ?Gothic,? ?Folk,? Progressive,? ?Psychedelic,? ?Southern,? ?Symphonic,? ?Hard,? ?Slow,? and ?Punk.? Note that any of those terms can be combined with any of the others to give a larger variety of unique genres (ie, ?Instrumental Punk? and ?Southern Folk?), as well as with a myriad of other terms condensed from the current list of genres, and a host of additional modifiers and qualifiers. This atomized approach to the subjective art of classification allows for a far more expansive range of control and choice while keeping spellings and terms standardized. And while there are fewer than 150 genres in the more-or-less standard version, this new approach allows for, well? an awfully big number? 2 to the number of bits used in the bit map.

    After doing some digging up of genre types from the Internet, it seems 1000 bits should be sufficient. This includes a wide range of modifying terms and plenty of reserved space for the future. Doing a little rounding to come up with an even number, 150 bytes appears to be a good number to consider for the size of the reserved space.

    Bitmap Advantages:

    – Efficient. With a small amount of file space, a very large number of genres can be described.

    – Complete. A user can have any combination of a large number of genre and modifiers to describe each audio file.

    – Language independent. The bits map to terms which can be localized to a user?s language.

    – Can be cross-referenced. Files can easily be sorted on a single genre attribute or any combination.

    – Changes don?t ever affect a file?s size. Once the fixed-length bit-map has been attached, regardless of what genre/modifier values have been selected, genre changes will no longer have any impact on file size.

    – Standardized terms and spellings. A user has a hard enough time entering the same text each time exactly the same, let alone having different users entering textual genre information the same. Consistency in spelling and terms becomes possible when the choices are mapped to a fixed word list.

    – Room for term growth. The full list of genre switches wouldn?t be exhausted, leaving head-room for additional bit-mappable items to be added over time.

    Bitmap Disadvantages

    – No user-customized genres. This is the case with the ID3v1 scheme as well. However, the baseline list of proposed genres and modifiers is much more vast, and the freedom for creating any combination gives choices many orders of magnitude greater than before. Also, by having standardized genres, you can be sure that when you import an audio file with this scheme into your own database, the genres will mesh ? no ambiguity due to spelling, language, or word order (that is, ?soundtrack rock? will equal ?rock soundtrack?.)

    – Not ?human readable.? The genre and modifier data is bit-coded, so if a user were to open such a file with a text viewer/editor, they?d have difficulty making sense of it. However, most users never have the need to, know how to, or want to open audio files with a text editor. They?ll use software designed for viewing and editing the tags. Also, coded in hex, this could easily exist with an XML framework, if need be.

    – Always consumes 150 bytes. From a relative point-of-view, this is a big increase. This is a lot more than the 1 byte for ID3v1. However, from an absolute viewpoint, this isn?t much. For a user with ten-thousand MP3s, the total impact byte-wise is 1.5 megs. Using my collection of slightly more than ten-thousand MP3s as an example, it consumes just over forty gigabytes of disk space. 1.5 megs of additional space amounts to a percentage increase of less than 4 one-thousandths of one percent.

  6. Henry Hadlow says:

    It seems to me that the simplest multiple genre implementation would be a tagging style field (in the web2.0 sense). See del.icio.us or flickr.com for example implementations.
    The user would be free to enter as many genres as they want in free-text, separated by some separator character e.g. ;
    Whilst entering genres, the software would suggest tags based on what they first entered. The suggestions would be whatever genres were already present the user’s library or ‘tag cloud’.
    As long as the ID3 standard doesn’t place any limit on the length of the genre field, it is possible to enter multiple genres already. Genre searching features can then be added-on later.
    I think user-friendliness is key here and for this reason support-free text genre input. For example, is it ‘electronic music’ or ‘electronica’.
    It could be argued that this doesn’t allow interoperability, but if genre tags could be listed online somewhere, they would take on a social dimension: i.e. you could utilise not only your genre listings but also those of others. Interoperability could be achieved through the net. Since genres are essentially subjective, this would give a similar consensus opinion, like Wikipedia.
    It would also allow cool gadget features like a tag cloud of your MP3 collection.
    Thoughts?

  7. MSlice says:

    I completely agree. I’m sick of cluttering up my comments field. I have a LOT of music and certain genres have so many subgenres it’s a necessity to have subgenre tagging in order to not kill the mood (ie. Hip-Hop: gangsta, southern, alternative, club etc.)

Leave a Reply

Your email address will not be published. Required fields are marked *