Ive always had the problem with genres when it comes to my library, for me the genre metadata tag is pretty subjective and seeing as its my library it doesn't make sense to outsource this subjectivity to metadata providers like MB, lastfm etc.
Not only that but there are countless ways of defining the exact same genre for instance 'Hip Hop' 'Hiphop', 'Hip-hop' So i really dont want different variants of the same genre spread across my library.
Again, I also like to define my music based on an artists genre instead of per album or worse, per track. I dont want my entire biggie smalls collection to have 100s of genres per track/album like 'Hip hop', 'rap', 'Boom bap' etc etc I just simply want every track by biggie smalls to be 'Hip-hop'.
Quite a while ago now I put together a nice little tui application written in python to manage this, it was very simple but did the job, it basically scanned your library for all artists then you would define a genre per artist, it would then use mugen to update all files metadata stags to the genre that was defined. It stores the artist to genre map to a json file.
I have defined a total of 26 genres and my entire 4tb library fits into one of them, i dont feel the need to add any more than that but have the ability to do so.
Whilst the first itteration of the application worked fine, wasnt great in a server and multiple machine /os setup. What I have doen today is used AI to create a nice front end for it and turn it into a docker application. before you all start, the original code was all written by hand, AI was only purley used for the front end and to dockerize it. its not slop, i meticulously went through anything touched by ai to ensure it works the way it should, youre obviously welcome to not use it on this basis but thought it might be worth sharing incase anyone else shares the same opinions when it comes to genre tags.
here are the repos anyway,
Github - https://github.com/WB2024/Artist-Genre-Metadata-Enforcer
Docker - https://hub.docker.com/repository/docker/wb20244/music-genre-enforcer/general
Cheers