Server Version#: Version 1.27.0.5849
Player Version#: Version 4.82.1
As of the latest update, I’m seeing my music genre tag lists replaced with single tags when I refresh. e.g. “Psytrance; Goa” drops Goa and lists only Psytrance. It seems to always use the first listed tag, ignoring the rest. This is new behavior, as I’ve been successfully using tag-sourced multiple genres for years. I don’t believe I missed anything in the configuration. Prefer local metadata and Use embedded genre tags are still both enabled for the library.
Edit: since the fix has not been accepted by ffmpeg yet, people may be interested in this workaround: https://github.com/Thlayli/plex-genres-from-tags
Just about to post the same thing. I added a couple of albums, and was surprised to see only one genre for the album. Possibly a bug or regression in the improvements made to the music scanner?
Let’s get it fixed as soon as possible. I have several smart playlists based on genre, and need to have the ability to read more than one genre from the embedded metadata from the tracks/files.
Hoping the multiple genres aren’t lost on all of my music during a maintenance period where a refresh of local metadata may be done…
1 Like
Just tested this in 1.26.2.5797 with FLAC/Vorbis (multiple genre frames), id3v2.4 (null-separated) and id3v2.4 (semicolon separated), seems to work correctly in all three cases?
Doesn’t seem to work with MP3 files using id3v2.4 tagged with MusicBrainz Picard. I’ve been tagging files with this software and ID3v2.4 for a couple of years, and Plex never had a problem reading the tags previously.
Edit: just noticed @certuna said it’s working properly in an earlier server version.
According to my library, it stopped working 5-6 days ago after an update. That’s when new albums started getting only one tag.
P.S. I disabled the server setting “Refresh local metadata every 3 days” so I hope that prevents my existing metadata from being modified unless I manually refresh. Probably a good idea until we know this is fixed.
Using PMS Version 1.27.0.5849 and Plex Web Version 4.82.1 on Linux Mint 20.3, I tried this with both flac and mp3 files, and it worked correctly. I use Puddletag, writing ID3v2.4 (semicolon-separated) tags.
Thanks for testing it beckfield. My server is on Windows 10 and I’m using MusicBee to write ID3v2.3 tags. It seems to store them as individual TCON type tags named GENRE. I’ll look for an option to write semicolon-separated tags later this evening. Perhaps that’s related to the issue.
I did a bit of reading, and it seems MusicBee follows the null-separator convention, even though they appear as individual tags in the software it should be a single TCON with 0x00 between genres. I’ll have to install something else to verify that. Interestingly, MediaInfo’s ID3 parser also only displays the first of the genre tags.
Source: Does MusicBee save multiple genre values in seperate tags?
I just did it with null-separated tags in mp3 files, and it only grabbed the first tag, ignoring the second.
2 Likes
Exactly. Something ain’t right with the new version of server/music scanner.
Hate to nag, since this bug is only a few days old, and realize it probably doesn’t affect that many users…
At the same time, an acknowledgement from Plex that the bug does exist, and that someone is looking into a fix would be appreciated. I recently found a jackpot of used CD’s at a garage/yard sale, and they are all ripped to MP3 and ready to be added to my music library. My smart playlists won’t always work as it stands now, and I would like to re-enable the option to refresh local metadata during the maintenance periods.
Thanks in advance!
@drzoidberg33 – I see a few problems have been fixed in the latest beta server update. Unfortunately, this bug, hasn’t been addressed.
Apologies for tagging you, perhaps this thread has not been seen by the developers.
Can you send me a sample file?
Absolutely.
Tagged with MusicBrainz Picard, ID3v2.4. Files tagged the same way with same software have worked properly until the recent music scanner update. Thanks for looking into it.
sample_mp3.zip (13.2 MB)
Thanks for the samples. Looks like ffmpeg is only picking up the first one, I’ll have to investigate a bit further to see what’s going on.
I can also confirm with ffprobe that only the first value is read.
Input #0, mp3, from '06 - True Romance.mp3':
Metadata:
title : True Romance
artist : Sophie B. Hawkins
track : 6/11
album : Whaler
disc : 1/1
date : 1994-07-26
genre : Rock
TMED : CD
TLEN : 143333
publisher : Columbia
TDOR : 1994-07-22
SCRIPT : Latn
ASIN : B0000028XW
album_artist : Sophie B. Hawkins
WORK : True Romance
originalyear : 1994
encoder : lame.exe -b 320 -ms
BARCODE : 074645330020
CATALOGNUMBER : CK 53300
Writer : Sophie B. Hawkins
ARTISTS : Sophie B. Hawkins
MusicBrainz Album Type: album
encoded_by : Exact Audio Copy (Secure mode)
MusicBrainz Album Status: official
MusicBrainz Album Release Country: US
TIPL : engineer
MusicBrainz Work Id: 62d1637a-fb87-4e65-91e4-f39dd2097be8
MusicBrainz Album Id: 80768e15-d845-3a59-9e05-0de86585b142
MusicBrainz Artist Id: fd7a8bc1-1b25-4b4c-b899-8f7b3343a229
MusicBrainz Album Artist Id: fd7a8bc1-1b25-4b4c-b899-8f7b3343a229
MusicBrainz Release Group Id: 3bbcb74c-0db9-389d-8d4f-2c36a311d190
MusicBrainz Release Track Id: eaaf39a3-8287-3b9e-911b-f6b9c5b199b8
TMCL : drums (drum set)
1 Like
That’s correct. I have noticed that ffmpeg and ffprobe have always only found the first tag for quite a few years, although Plex has properly read the multiple genre tags properly.
Yep, we used to use a Python library for reading tags but that’s changed with the most recent changes.
Perhaps I misunderstand the options available during the maintenance period for the server, but suddenly quite a few of my albums have only one genre. I disabled " Refresh local metadata every three days" as soon as I found out that multiple genres were no longer being read properly, maybe I didn’t catch it in time. Hoping that this bad habit doesn’t persist. 
is the fact that the new scanner no longer uses Python, and ffmpeg only reads one genre a show stopper for those of us using MP3 files with multiple genres?
Just in case anyone was thinking “since FFMPEG is so universally used, maybe the tagging clients should just update their code so they allow semicolon-separation” here’s a thread from MusicBee putting their foot down hard about the issue. Tag Editor writes unwanted tags and wrecks multi-value tags
Edit: This means I have the option of encoding v2.3 or v2.4 tags but either way the separator is null. 2.3 should technically be flexible since it’s being written as a single string, but MusicBee doesn’t seem to want to let us change it. That leaves it up to Plex to restore the previous behavior. I’m totally fine if you want to be strict about 2.3 parsing and rely on FFMPEG’s behavior. There’s nothing in the spec that says null-separated values should work. HOWEVER, if I set the tag version to 2.4, null-separation is in the spec and should absolutely be parsed. Of course, I’d be happiest if you restored the “incorrect” parsing of nulls as semicolons in v.2.3 tags.
If Plex indeed has switched to ffmpeg for tag reading, I expect it’s this bug: #6949 (No support for multiple values in ID3v2.4 tags.) – FFmpeg (note: aside from id3v2.4, multiple values in FLAC/Vorbis and mp4 tags also don’t work)
Many applications have run into this issue - Navidrome and Jellyfin for example. You can switch to a different tag reading library like TagLib that doesn’t have this issue (this is what both those applications have done now, also because TagLib is faster), but I can understand that the Plex devs prefer ffmpeg - it’s already used in Plex for video encoding anyway so it doesn’t introduce new dependencies.
Semicolon separated values are a hacky workaround: it works for applications that are specifically coded to separate strings that way, but it goes against the id3v2.4, id3v2.3, mp4 and Vorbis Comments standards so I can understand that many applications are somewhat hesitant to violate four different standards just because ffmpeg has a bug.
Also, semicolon-separation introduces issues with artists like this (although this is an Artist, not a Genre), which is exactly why the tag standards were written the way they are (null separation or multiple frames)
id3v2.3 doesn’t allow multiple values for TCON (Genre) at all. But it’s relatively easy to run a batch-convert on all your v2.3 tags to v2.4.
The real solution of course is fix the problem upstream in the ffmpeg codebase. Unfortunately, my C skills are not good enough or I’d do it myself.
2 Likes