LMS-Community / slimserver

Server for Squeezebox and compatible players. This server is also called Lyrion Music Server.
https://lyrion.org
Other
1.16k stars 293 forks source link

"Album Artists" is not "album artist" field from id3 but in fact "Artist" #1126

Closed catcatcatcatcatcatcatcatcatcat closed 2 months ago

catcatcatcatcatcatcatcatcatcat commented 3 months ago

Could we have a toggle to pick how "album artists" is generated? There is literally a field in id3 tags called "ALBUM_ARTIST" and this isn't the component being used to generate the "Album Artists" view, instead the album groups the songs and then appears to pick the most common.. To prove it, a freshly rescanned database has listed both of the artists listed under the album by "Ben Folds", neither of which are "Ben Folds". However, the "Album Artist" is set to "Ben Folds" so this is what I would expect to appear in the "Album Artists" view. Also, the actual "Album Artist" tagged for every song in this item does not have this album listed against them when viewing the list of albums by that artist..

image image image image
catcatcatcatcatcatcatcatcatcat commented 3 months ago

I think this is a regression from the old LMS as I used to meticulously set the Album Artist and Sort Album Artist correctly so that this view was simple but the list of artists who actually contributed to the pieces are listed elsewhere so the data is accurate as per Discogs/MusicBrainz etc... and so I can find colabs etc.

catcatcatcatcatcatcatcatcatcat commented 3 months ago

Even with custom scan and changing the album artist to only use the ALBUMARTIST field, it still gets set to ARTIST instead...

image
catcatcatcatcatcatcatcatcatcat commented 3 months ago
==== ID3v2 Raw frames ====
TIT2 language()
 Capable Of Anything
TPE1 language()
 YMusic
TALB language()
 So There
TCON language()
 Classical
 Rock
TIT1 language()
 Classical,Rock
TRCK language()
 01/11
TDRC language()
 2015-09-11
TPE2 language()
 Ben Folds
TMED language()
 CD
TSOP language()
 yMusic
TPUB language()
 New West Records
TSO2 language()
 Folds, Ben
TCMP language()
 0
TPOS language()
 01/01
TXXX description(MusicBrainz Album Status)
 Promotion
TXXX description(MusicBrainz Album Type)
 Album
TXXX description(MusicBrainz Album Release Country)
 US
TXXX description(CATALOGNUMBER)
 [none]
TXXX description(SCRIPT)
 Latin
TXXX description(ARTISTS)
 YMusic
TXXX description(Country)
 United States
TXXX description(SINGLE_DISC_TRACK_NO)
 01
TXXX description(ARTISTS_SORT)
 yMusic
TXXX description(ALBUM_ARTISTS)
 Ben Folds
TXXX description(ALBUM_ARTISTS_SORT)
 Folds, Ben
TXXX description(ALBUM_YEAR)
 2015-09-11
TXXX description(IS_GREATEST_HITS)
 0
APIC type(3, front cover) mime(image/jpeg) size(44859)
 Front Cover
michaelherger commented 3 months ago

I'd confirm your expectations. IMHO that's how LMS should work.

Please disable all 3rd party plugins, in particular things like CustomScan which have an impact on the scanner results. Then please provide all the tag information LMS would report in Track Information/Show Tags.

Please also make sure that all tracks of the given album have the exact same tagging, and there are either NO MusicBrainz IDs, or they correspond to your expectations.

catcatcatcatcatcatcatcatcatcat commented 3 months ago

I see. I only added Custom Scan yesterday to see if there was an existing workaround.

For LMS tags, the above was a dump of all tags using the command line tool mpg123-id3dump. It should be exhaustive.

For tagging of all tracks, it should be irrelevant since when I drill down from the LMS view showing the unexepected album artist, I see all files and I choose one as an example to dump all id3v2 tags. There are no id3v1 entries. I use Jaikoz to tag with these parameters. The musicbrainz IDs match expectations but these aren't looked up by LMS postumhously, are they? That would surely be insanely time consuming and would require an API key.. so not sure how the IDs are relevant.

So, in summary, the expectation isn't that the "Album Artists" list draws from "(TXXX description(ALBUM_ARTISTS)" tag and sorts with "TXXX description(ALBUM_ARTISTS_SORT)", but instead uses the "TXXX description(ARTISTS)" and "TXXX description(ARTISTS_SORT)".. or perhaps one of TPE1 (aka "artist") and TSOP (aka "sort artist")?

But if this is the case, then how are the browse "Artists" and "Album Artists" different?

Do you agree it would be useful to have the ability to select, somewhere, which tag(s) are used to select the album artists view? or the artists view also? For example, with fallback, ALBUM_ARTISTS,TPE1,ARTISTS

Interestingly, I tried doing this with custom scan and it with a full clear and rescan, it still showed the artist instead of the ablum artist selected from within custom scan for the list of album artists.. so the scanner can and does select a field that maps to what it is calling "album artist".. but then that isn't what's used to generate the list of artists under the browse mode "Album Artists". This is the mapping snafu / feature I'm the most surprised about. :)

I hope I've been clear and thank you for your quick response. I'm a software engineer and I used to work primarily in Perl so perhaps I'll see if I can submit a PR or at least just have a patch for my local docker instance. ;)

michaelherger commented 3 months ago

Please check the tags as I suggested. Because that's what LMS is seeing. No tool is perfect, and certainly they're not all the same. Your tool might be missing something, too. Eg. we've seen files with multiple versions of what was supposed to be the same id3 tags. Some tools would only show/modify one of them, LMS would read the other one etc.

Moonbase59 commented 3 months ago

@catcatcatcatcatcatcatcatcatcat For MP3, you can actually set the option where to draw it from:

Auswahl_462

You seem to be using MusicBrainz Picard for tagging (best choice, congrats!). Picard maps the album artist to TPE2:

Auswahl_463

catcatcatcatcatcatcatcatcatcat commented 2 months ago

You are absolutely correct! Setting it to use TPE2 as Album Artist worked a charm.. but what was used as Album Artist if NOT set to use TPE2? That's not entirely clear and created some really weird situations where some artists were listed 5 times in a row, despite there being no raw tags with that situation for any of the songs grouped within that.

michaelherger commented 2 months ago

I've changed default behaviour to enable the TPE2 to Album Artist mapping. Makes sense to me. Thanks for the heads up!