There have been some developments and improvements going on regarding 'genres' at MusicBrainz.
A lot of genres have been added recently, and also I myself have gained a better understanding of how to use Picard on retrieving them.
The results I am getting now are quite satisfying, and since it's a rather complicated matter to figure out from scratch I thought to share my settings and the genre script I am using.
Here is the script.
$setmulti(genre,$lower(%genre%))
$setmulti(genre,$map(%genre%,$upper($substr(%_loop_value%,0,1))$substr(%_loop_value%,1,)))
$replacemulti(%genre%,Ebm,EBM)
$replacemulti(%genre%,Edm,EDM)
$replacemulti(%genre%,Mpb,MPB)
$replacemulti(%genre%,Idm,IDM)
$replacemulti(%genre%,Stage & screen,Stage & Screen)
$replacemulti(%genre%,Brass & military,Brass & Military)
$replacemulti(%genre%,Uk funky,UK funky)
$replacemulti(%genre%,Uk hardcore,UK hardcore)
$replacemulti(%genre%,Us power metal,US power metal)
$replacemulti(%genre%,2-step garage,2-step)
$replacemulti(%genre%,A cappella,A capella)
$replacemulti(%genre%,African popular music,African)
$replacemulti(%genre%,Afro pop music,African)
$replacemulti(%genre%,Afro-trap,Afro trap)
$replacemulti(%genre%,Alternative country,Alt-country)
$replacemulti(%genre%,Aor,Adult oriented rock)
$replacemulti(%genre%,Arabic pop music,Arab pop)
$replacemulti(%genre%,Argentine tango,Tango)
$replacemulti(%genre%,Art music,Classical)
$replacemulti(%genre%,Axé musica,Axé)
$replacemulti(%genre%,Bard song,Bard)
$replacemulti(%genre%,Baroque era,Baroque)
$replacemulti(%genre%,Berlin school of electronic music,Berlin school)
$replacemulti(%genre%,Blues-rock,Blues rock)
$replacemulti(%genre%,Bolero,Boléro)
$replacemulti(%genre%,Bop,Bebop)
$replacemulti(%genre%,Breaks,Breakbeat)
$replacemulti(%genre%,Brit pop,Britpop)
$replacemulti(%genre%,Celtic music,Celtic folk)
$replacemulti(%genre%,Club,Club-house)
$replacemulti(%genre%,Dance-pop,Dance pop)
$replacemulti(%genre%,Dark wave,Darkwave)
$replacemulti(%genre%,Deep soul,Southern soul)
$replacemulti(%genre%,Drill 'n' bass,Drill and bass)
$replacemulti(%genre%,Electro-funk,Electro)
$replacemulti(%genre%,Electronic dance music,EDM)
$replacemulti(%genre%,Electronica,Electronic)
$replacemulti(%genre%,Electronicore,Trancecore)
$replacemulti(%genre%,Euro disco,Euro-disco)
$replacemulti(%genre%,Folk-pop,Folk pop)
$replacemulti(%genre%,Fusion,Jazz fusion)
$replacemulti(%genre%,Future jazz,Nu jazz)
$replacemulti(%genre%,Glam,Glam rock)
$replacemulti(%genre%,Go-go,Gogo)
$replacemulti(%genre%,Hip hop soul,Hip-hop soul)
$replacemulti(%genre%,Humor,Comedy)
$replacemulti(%genre%,Intelligent dance music,IDM)
$replacemulti(%genre%,Irish traditional music,Irish folk)
$replacemulti(%genre%,Italo disco,Italo-disco)
$replacemulti(%genre%,Italo house,Italo dance)
$replacemulti(%genre%,Jazz-pop,Jazz pop)
$replacemulti(%genre%,Jazz rock,Jazz-rock)
$replacemulti(%genre%,Laïko,Laïkó)
$replacemulti(%genre%,Latin american music,Latin)
$replacemulti(%genre%,Low fidelity,Lo-fi)
$replacemulti(%genre%,Mangue bit,Mangue beat)
$replacemulti(%genre%,Martial music,Brass & Military)
$replacemulti(%genre%,Midwest hip hop,Midwest hip-hop)
$replacemulti(%genre%,Minimalism,Minimal)
$replacemulti(%genre%,Minimalist music,Minimal)
$replacemulti(%genre%,Mizrahi music,Mizrahi jewish)
$replacemulti(%genre%,Music of africa,African)
$replacemulti(%genre%,Music of brazil,Brazilian)
$replacemulti(%genre%,Music of israel,Israeli)
$replacemulti(%genre%,Music of latin america,Latin)
$replacemulti(%genre%,Music of puerto rico,Puerto rican)
$replacemulti(%genre%,Música popular brasileira,MPB)
$replacemulti(%genre%,Musical theater,Musical)
$replacemulti(%genre%,Neapolitan song,Canzone napoletana)
$replacemulti(%genre%,Neo-classical metal,Neoclassical metal)
$replacemulti(%genre%,Neoclassical new-age music,Neoclassical new age)
$replacemulti(%genre%,New flamenco,Flamenco nuevo)
$replacemulti(%genre%,New romanticism,New romantic)
$replacemulti(%genre%,New-age music,New age)
$replacemulti(%genre%,Nuevo tango,Tango nuevo)
$replacemulti(%genre%,Old-school hip hop,Disco rap)
$replacemulti(%genre%,Old-school rap,Disco rap)
$replacemulti(%genre%,Philadelphia soul,Philly soul)
$replacemulti(%genre%,Political hip hop,Political hip-hop)
$replacemulti(%genre%,Pop art,Art pop)
$replacemulti(%genre%,Pop-music,Pop)
$replacemulti(%genre%,Popular music,Pop)
$replacemulti(%genre%,Prog rock,Progressive rock)
$replacemulti(%genre%,Prog-rock,Progressive rock)
$replacemulti(%genre%,Protopunk,Proto-punk)
$replacemulti(%genre%,Psychedelic trance,Psytrance)
$replacemulti(%genre%,R&b,Rhythm and blues)
$replacemulti(%genre%,Rapping,Rap)
$replacemulti(%genre%,Rave,Breakbeat hardcore)
$replacemulti(%genre%,Rock & roll,Rock and roll)
$replacemulti(%genre%,Romantic era,Romantic)
$replacemulti(%genre%,Rune singing,Runolaulo)
$replacemulti(%genre%,Runo song,Runolaulo)
$replacemulti(%genre%,Samba reggae,Samba-reggae)
$replacemulti(%genre%,Shoegazing,Shoegaze)
$replacemulti(%genre%,Song-cycle,Song cycle)
$replacemulti(%genre%,Southern gothic,Gothic country)
$replacemulti(%genre%,Southern hip hop,Dirty south)
$replacemulti(%genre%,Stage and screen,Stage & Screen)
$replacemulti(%genre%,Symphonic music,Symphony)
$replacemulti(%genre%,Synthpop,Synth-pop)
$replacemulti(%genre%,Synthpunk,Digital hardcore)
$replacemulti(%genre%,Traditional heavy metal,Heavy metal)
$replacemulti(%genre%,Trip-hop,Trip hop)
$replacemulti(%genre%,Urban,Hip hop)
$replacemulti(%genre%,Urban contemporary,Hip hop)
$replacemulti(%genre%,Western classical music,Classical)
$set(_genremusic,$replacemulti(%genre%,Bass music,Bass xxxxx))
$set(_genremusic,$replacemulti(%genre%,Chamber music,Chamber xxxxx))
$set(_genremusic,$replacemulti(%genre%,Early music,Early xxxxx))
$set(_genremusic,$replacemulti(%genre%,Epic music,Epic xxxxx))
$set(_genremusic,$replacemulti(%genre%,Furniture music,Furniture xxxxx))
$set(_genremusic,$replacemulti(%genre%,Incidental music,Incidental xxxxx))
$set(_genremusic,$rreplace($rreplace(%_genremusic%,\( music;\),;),\( music\)\$,))
$set(genre,$replace(%_genremusic%,xxxxx,music))
$setmulti(_genretemp,%genre%)
$set(genre,$unique(%_genretemp%))
$setmulti(genre,$unique(%genre%))
- It makes the names of genres as provided by the Wikidata plugin and MusicBrainz’ database uniform.
So you won't end up with duplicates such as ‘Pop music’ and ‘Pop’, or ‘Dark wave’ and ‘Darkwave’, etc.
- It will ‘sentence case’ all genre names. Just because I think that looks best.
- It adjusts some genre names to my personal preferences.
- It removes duplicate genre entries.
- It makes it so that the produced genre names are compatible with MusicBee's internally known genre names.
Note that not all genres that can be retrieved will be grouped into MusicBee's Genre hierarchy or Genre grouping since not all of these genres are currently known by MusicBee.
If you want full compatibility including the most recently added genres, I suggest to use my 'Enhanced Genre Hierarchy' list and the related Genre Grouping file.