Best Genre plugin / option (in 2021)

Hi,

I’m looking to clean my library (again). As of today (may 2021), what is the best option in your opinion for genre tagging?

I’ve tried Musicbrainz (now integrated option), Lastfm plugin and Wikidata plugin with somewhat mixed results.

I don’t like having 5 genres for a song/album. I prefer having 1 genre per artist and/or album.

Thanks in advance for your input.

2 Likes

You could try this:

And set ‘maximum number of genres’ to 1.
(I would set it a bit higher myself though, a lot of music can not be described / catched under one genre)

I myself find the genres retrieved from Lastfm to be pretty much useless.

2 Likes

Yeah, I’ve seen your post. You went through a lot of testing! (thanks by the way, to posting your results on the web).

I kind of came to the same conclusion, but was not sure. So, I’ll use MBP genres (and won’t rely on any plugin), put 2 genres max, and update it with MusicBee afterward if not satisfied with it. I was using last.fm too.

1 - I’ve manually input “;” (semi columns) as separator for genres (like I do for artist) even though it is not an option. Is this a good practice?

2 - I saw that “folksonomy tag” isn’t checked in your options. Is this because it give too much "users input’ result, which are sometimes an unusual genre?

Thanks for your input

1 Like

1:
I have nothing manually set for that and it works great with MusicBee.
But for mp3 I use id3v2.4. If you use id3v2.3 it might be different.

2:
It’s mainly because I get the results that I want by setting ‘minimal genre usage’ at 0%.
If you then also enable folksonomy tags you get a lot of crap.
You could experiment with the percentage setting to see if you can get acceptable results also using folksonomy tags.

Thanks.
1 - All good, I’ll leave it blank. Also, I use id3v2.4.
2 - Does it give you good results using 0% ? Not my understanding of the theory.
https://picard-docs.musicbrainz.org/en/config/options_genres.html
Minimal genre usage

Choose how popular the genre must be before it is written by Picard. Default: 90%. Lowering the value here will lead to more, but possibly less relevant, genres in your files.

EDIT: I’ve made a test for an album using folksonomy. Genre was “Alternative and Punk”. Definitely not a thing I want in my library so I’ll leave folksonomy unticked.

It’s not only unusual genres, it can plainly contain things that are no genre at all. If someone has tagged a release with “needs fix” or an artist with “seen live” that’s not something you want in your genres. You can partially filter this out with the black list, but you’ll constantly need to extend this.

1 Like

I’ve read a little more about it and realized it (what you stated). Some people use this tag to manage their music library (e.g. needed, requested, owned,…). Totally stuff I wouldn’t need on my collection!

Thanks for the additional info :slight_smile:

1 Like

I find genres to be a complete nightmare and terribly subjective. What one person may call Jazz another may call Country or Folk. How many are there. It seems someone invents a new genre all the time especially in the dance music scene. I do use the wikidata plugin but I have made my own genres in the form of directories on my drive. It’s what makes sense to me. It kind of works as moods for me also. What mood am I in, what do I fancy listening to.

Let me show you an example. This is my top level directory. More than one genre for me with my wide eclectic taste in music.

I then have Artists and Albums inside each one.

I can appreciate from a different perspective that the tags are of more importance if your searching by genre on a device but it’s not something I would search by so don’t worry so much. It’s always Artist, Album or even Track I use. It wouldn’t be that difficult to come up with you own criteria for genre’s and manually type them in the tag. Have as few or as many as you wish and they would be accurate as to how ‘you feel’ about an album.

Thanks for your input. But I don’t think I’ll go that route :slight_smile:

I use the %grouping% tag to index tracks by a top-level genre (I used genres from rateyourmusic.com), which I define by specifying them in my genre script as in the example below. Most of the music playing devices I have owned have support for the grouping tag and I can also base my file tree and naming on this tag to further categorize the songs.

One nice thing about this method is that it inserts a singular genre string into the grouping tag, even if it fallbacks to using %genre% as the grouping. Another thing to note is that the grouping is added in the order you place the lines in the script.
So that when a tag matches multiple of your preset categories, it will set grouping as just the first genre that matches a word…

So for instance if I place the Rock script line before Pop as in the code below, then any song that has a genre tag that includes both of those (ie. Indie Pop, Indie Rock), will be given a grouping of the first. Which is Rock in this case.

Tinker with the genre settings to find the desired results.
I currently have set a maximum genre limit of 5 and a minimum genre usage of 60%

You can also use WikiData Genres to expand genre selection if so desired. It is hit or miss. Just remember to use the $copymerge portion as in my script so that you don’t get duplicates. If you encounter any undesired results when using wikidata genres then disable the wikidata plugin.

Sidenote: I have coded this in other ways for similar results, yet the grouping gets set to a multi-string tag when there is no matching top-level genre.
If anyone knows of a better method than setting the _topgenre to 0 at the beginning of the script, I’d be happy to know.

In the meantime, this is what works for me;

$setmulti(genre,$title(%genre%))
$copymerge(genre,genre)
$set(_topgenre,0) 
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,EBM),Electronic,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Blues),Blues,0)))      
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Gospel),Gospel,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Comedy),Comedy,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Metal),Metal,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Classical),Classical,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Country),Country,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Industrial),Industrial,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Electronic),Electronic,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Dance),Dance,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Punk),Punk,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Hip Hop),Hip Hop,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Ambient),Ambient,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Rock),Rock,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Pop),Pop,0)))                                               
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Experimental),Experimental,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Field Recordings),Field Recordings,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Folk),Folk,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Jazz),Jazz,0)))               
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Musical Theatre and Entertainment),Musical Theatre and Entertainment,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,New Age),New Age,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Psychedelia),Psychedelia,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,R&B),R&B,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Reggae),Reggae,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Regional),Regional,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Singer/Songwriter),Singer/Songwriter,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Ska),Ska,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Sounds and Effects),Sounds and Effects,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$if($rsearch(%genre%,Spoken Word),Spoken Word,0)))
$if($inmulti(%_topgenre%,0), $set(_topgenre,$slice(%genre%,,1,;)))
$setmulti(grouping,%_topgenre%)

Hey Everyone… I’m a newbie but I’m a musician of over 50 years…not a coder. Is there anyway someone can post simple step-by-step instructions of how to best get the genres relatively correct for music enjoyment? Any step-by-step instructions on how to choose the best plug-in or plug-in script to cut & paste? Thanks in advance.bob