FLAC Sorting Tags

Server Version#: 4.109.2
Player Version#: N/A

I’ve read a number of posts about Artist and Album sorting generally in Plex, and about how FLAC defines no standards for naming tag fields, but there seem to be near-universal conventions.

I have a meticulously organized and tagged library, and have turned-on Prefer Local Metadata. I did the Plex Dance. And what Plex does with artist-sorting seems kinda random. I use Picard and SongKong to do my tagging.

There’s a post from a year ago that says a bug had been identified and fixed. But it seems kinda random. I have lots of examples.

Then there’s “classical music”.

What exactly does the Plex Music Agent (I think it’s called) do with tags in general, and with tags in FLAC containers specifically?

And what the devil does this mean, exactly?

Tom's PLEX Server
—
Plex Media Server Logs
Filter logs
Jun 30, 2023 14:55:49.152 [139850072480568] Warning — Held transaction for too long (/data/jenkins/server/3531215071/Library/MetadataItem.cpp:4012): 0.300000 seconds
Jun 30, 2023 14:55:49.158 [139850065668920] Warning — [Lyrics] SLOW QUERY: It took 310.000000 ms to retrieve 14 items.
Jun 30, 2023 14:55:49.661 [139850060065592] Warning — Held transaction for too long (/data/jenkins/server/3531215071/Library/MetadataItem.cpp:4012): 0.120000 seconds
Jun 30, 2023 14:55:49.847 [139850065668920] Warning — Took too long (0.480000 seconds) to start a transaction on /data/jenkins/server/3531215071/Library/MetadataItem.cpp:1099
Jun 30, 2023 14:55:49.847 [139850065668920] Warning — Transaction that was running was started on thread 139850060065592 at /data/jenkins/server/3531215071/Library/MetadataItem.cpp:1118
Jun 30, 2023 14:55:50.477 [139850060065592] Warning — Held transaction for too long (/data/jenkins/server/3531215071/Library/MetadataItem.cpp:4012): 0.330000 seconds
Jun 30, 2023 14:55:59.101 [139850041715512] Error — downloadContainer: expected MediaContainer element, found html
Jun 30, 2023 14:55:59.101 [139850041715512] Warning — Subscription: No container available for /tv.plex.providers.epg.cloud:2/metadata/plex%3A%2F%2Fepisode%2F648e6d7e59c84b8d2b945da3
Jun 30, 2023 14:55:59.101 [139850041715512] Error — Subscription: Error refreshing sub: No container found
Jun 30, 2023 14:55:59.102 [139850039606072] Error — downloadContainer: expected MediaContainer element, found html
Jun 30, 2023 14:55:59.102 [139850039606072] Warning — Subscription: No container available for /tv.plex.providers.epg.cloud:2/metadata/plex%3A%2F%2Fepisode%2F648fbef87ab466661ef13792
Jun 30, 2023 14:55:59.102 [139850039606072] Error — Subscription: Error refreshing sub: No container found
Jun 30, 2023 14:55:59.106 [139850043824952] Error — Subscription: Error refreshing sub: Target library section does not exist
Jun 30, 2023 14:55:59.107 [139850045934392] Error — Subscription: Error refreshing sub: Target library section does not exist

I’m not sure if anything’s been done to address it, but at least at one point Plex would look at the first track scanned in for an artist and use the ARTISTSORT field to determine how the artist should be sorted: Sort Artist tag now matches Artist tag - #12 by SwiftPanda16. Can you list a few of the specific examples you mentioned to understand exactly what tags your FLAC files have, and how Plex then sorts the artist?


Those seem unrelated to your question about FLAC tags, but it’s hard to say exactly what’s happening with only a snippet of warnings/errors and not info/debug messages. Optimizing your database might help with some of the “SLOW QUERY” and “Took too long” warnings.

Thanks. I think you’ve put me on the right track.

Maybe the trouble is the difference between ARTISTSORT and “artist sort”.

This got filed as “Maynard Ferguson”

00000170  6e 67 0a 00 00 00 47 65  6e 72 65 3d 4a 61 7a 7a  |ng....Genre=Jazz|
00000180  17 00 00 00 41 72 74 69  73 74 3d 4d 61 79 6e 61  |....Artist=Mayna|
00000190  72 64 20 46 65 72 67 75  73 6f 6e 17 00 00 00 43  |rd Ferguson....C|
000001a0  61 74 61 6c 6f 67 20 23  3d 33 31 34 20 35 32 39  |atalog #=314 529|
000001b0  20 39 30 35 2d 32 1d 00  00 00 61 72 74 69 73 74  | 905-2....artist|
000001c0  20 73 6f 72 74 3d 46 65  72 67 75 73 6f 6e 2c 20  | sort=Ferguson, |
000001d0  4d 61 79 6e 61 72 64 23  00 00 00 61 6c 62 75 6d  |Maynard#...album|
000001e0  20 61 72 74 69 73 74 20  73 6f 72 74 3d 46 65 72  | artist sort=Fer|
000001f0  67 75 73 6f 6e 2c 20 4d  61 79 6e 61 72 64 14 00  |guson, Maynard..|
00000200  00 00 53 6f 75 72 63 65  3d 43 44 20 28 4c 6f 73  |..Source=CD (Los|
00000210  73 6c 65 73 73 29 22 00  00 00 45 6e 63 6f 64 65  |sless)"...Encode|

This one is correctly filed under Pizzarelli, John

00000140  54 49 53 54 3d 4a 6f 68  6e 20 50 69 7a 7a 61 72  |TIST=John Pizzar|
00000150  65 6c 6c 69 1b 00 00 00  41 52 54 49 53 54 53 4f  |elli....ARTISTSO|
00000160  52 54 3d 50 69 7a 7a 61  72 65 6c 6c 69 2c 20 4a  |RT=Pizzarelli, J|
00000170  6f 68 6e 17 00 00 00 41  52 54 49 53 54 53 3d 4a  |ohn....ARTISTS=J|
00000180  6f 68 6e 20 50 69 7a 7a  61 72 65 6c 6c 69 1d 00  |ohn Pizzarelli..|
00000190  00 00 41 52 54 49 53 54  53 5f 53 4f 52 54 3d 50  |..ARTISTS_SORT=P|
000001a0  69 7a 7a 61 72 65 6c 6c  69 2c 20 4a 6f 68 6e 17  |izzarelli, John.|
000001b0  00 00 00 42 41 52 43 4f  44 45 3d 30 20 38 39 34  |...BARCODE=0 894|
000

Maybe Plex is case insensitive so “artist” and “ARTIST” are the same, but it doesn’t understand “ARTISTSORT” and “artist sort” as the same thing.

I did find this, which the software engineer in me loves, but nobody seems to use the frame names as tags. For example, nobody uses TALB, they use ALBUM. And then there’s the infamous User defined text information frame. It seems like MP3Tag is the almost-standard in this respect.

I would love to have a definitive list of metadata Plex uses, the names of the tags, and whether there are synonyms. How it wants to see multiple values like:
ARTIST=Trumpet:Maynard Ferguson
ARTIST=Trumpet:Gregg Bissonette

versus something like

ARTISTS=Trumpet:Maynard Ferguson;Trumpet:Gregg Bissonette

or whatever.

I can imagine a table for FLAC, MP3, WMA, … even for MKV, MP4, etc. And maybe it knows variations like “This is how DBPoweramp works, that’s how ABCDE does it, this other way is how Picard goes”. I don’t know how it’s best documented.

But metadata is a problem, isn’t it?

And now I have to go to bed.

Thanks again,

 t

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.