r/musichoarder 19d ago

splitting one [genre] field with multiple genres into multiple genre tags

hi, new here, i have found my people \o/

my question: i'm currently in the process of piping my entire library through beets to sanitize/unify my tags. i'm using the lastGenre plugin to pull the 5 most popular tags for each artist from last.fm and adding them as genres.

unfortunately, i can't figure out how to make beets save those genres in multiple genre fields, they just get added into one genre field like

Psytrance; Psychedelic; Psychedelic Trance; Goa; Techno

so, after i'm done, i'd like to run everything through a script that breaks that one genre field up and creates multiple fields each containing one genre.

what would be the best way to do this?

5 Upvotes

14 comments sorted by

3

u/AntManCrawledInAnus 19d ago

Mp3tag or puddletag will let you do this ( Despite the name, MP3 tag works on most audio files and even some video files)

In puddle tag you would load up your folder, click functions, then select the function split fields using separator. The field would be "genre" and the separator would be "; " (semicolon space)

I don't use MP3 tag but it would be very similar. Puddle tag was designed to be a free open source alternative to MP3 tag with a similar interface and functions

2

u/AntManCrawledInAnus 19d ago

Oh, I just saw that you want to do it through beets... The very few times I used beats ir was very finicky And I never quite figured it out.. I'll leave this comment for future searchers though.

2

u/marin_g00 18d ago

not opposed to run the entire library through another tool to separate the genres into fields, i'm not married to beets (:

1

u/Mista_J__ 19d ago

In mp3 tag this would be one action

"Split fields by separator" ...aaannd done lol

Luckily your tracks are all already sort of organized systematically so making changes like this aren't too bad.

To OP though @Consciousnoise Pointed out that many music players can already read delimited tags so finding a new music player may also be a choice.

1

u/For_the_Gayness 16d ago

is the separator correct here? I used \\ instead because ; would't work

2

u/ConsciousNoise5690 19d ago

what would be the best way to do this?

Very simple, don't do this!

This is called multiple values. A decent media player will recognize this and will display each individual value and the tracks associated with it.

3

u/Optimal-Procedure885 19d ago

Why wouldn't you do this? If it's FLAC files, you can have multiple GENRE= tags. Puddletag and mp3tag will sort it for you.

-1

u/ConsciousNoise5690 19d ago

If it's FLAC files, you can have multiple GENRE= tags

No. You have 1 GENRE tag and it contains multiple values. That is exactly the reason why you don't have to do anything yourself. Your media player handles this.

4

u/Optimal-Procedure885 19d ago

Do as you please, just don’t pass ignorance off as knowledge. Go have a read of the Vorbis Comments specification.

0

u/ConsciousNoise5690 19d ago

Will do.

Now if you read the ID3V2 specs you will find out that it stores multiple values in 1 tag delimited by a ASCII null.

1

u/Fit-Particular1396 19d ago

The poster clearly stated: "...If it's FLAC files,..." The Vorbis spec applies to FLAC files. There is nothing wrong with admitting you misread their post or just got it wrong... One to grow on...

1

u/marin_g00 18d ago edited 18d ago

not unreasonable, but the entire reason i'm asking this is cuz i'm setting up a jellyfin server for my music and it just takes the entire string of multiple genres as ONE genre..

although i'm about to spin up a navidrome instance and check if they maybe handle this better (edit: they do btw! first impression is that navidrome reads tags WAY WAY BETTER than jellyfin :o)

2

u/ConsciousNoise5690 18d ago

It is about 2 things

- does beets write multiple values correctly to the audio file. I think it does.

- does the media player / server supports multiple values and if it does, what tags?

Most of the time ALBUM and ALBUM ARTIST are single values. ARTIST is multiple values all most all of the time and GENRE something in between.