Artist vs AlbumArtist issue

I’ve got an issue with playing albums where the album artist is different from the artist - perhaps related to the way that I’ve organised my MP3 tags.
I’ve used the “Various” album artist for compilation albums, but for albums by an artist where they sing tracks with other guest artists (for example, Ray Charles “Genius Loves Company” or Tom Jones “Reload”), I use the artist to included both album and guest artists, and the album artist tag contains the main album artists (for example, on track 1 of “Reload”, the artist is set as “Tom Jones & The Cardigans” and the album artist is set as “Tom Jones”).

I’ve tracked the culprit down to my favourite file, /volumio/app/plugins/music_service/mpd/index.js:
the listAlbums function stores the album artist in the album details, but the play process uses mpd.explodeUri which looks for artist (not album artist) unless the album artist is one of the compilation album options (in which case it uses album artist instead).

Is it really a valid option for the explodeUri to search for the artist tag when it’s really only passed the albumartist tag? One problem is that this would fail to provide a complete track listing for albums with one or more tracks with multiple artists (for example, a duet track or a track “feat.” another artist). I’ve noticed the artist view does a similar thing (it only lists tracks where the artist is listed on their own, but not any duet or “feat.” tracks)

Also, how do other people use the album artist tag? For all my files, the artist and albumartist tag are the same for most albums (for example, an album by AC/DC with no guest artists would have both artist and album artist tags set to “AC/DC”) - is this what everyone else does?

The reason I ask is that if mpd.explodeUri were to be changed so that it only looks for album artists (since, theoretically, that’s all it’s passed by the anyway), would it break everybody’s collections? I’m happy changing just my version, but I don’t want to submit any PRs if it’s going to break everyone else’s installs!

Sorry - I only just saw your post…

I have done quite a lot of work in this area and have been looking at this issue. The problem is coming up with a solution that will work for all. I would be interested to know your thoughts.

Firstly, we have an option to list Artists by ‘artist’ or ‘albumartist’. The question is what do we next? For example, if we list by ‘artists’ then every artist existent in the library is listed, including in your case, ‘Tom Jones & The Cardigans’. If you select ‘Tom Jones & The Cardigans’ it will list all Albums with tracks where the artist is ‘Tom Jones & The Cardigans’. Now we select an Album. What should we select? The whole Album or only the tracks where the artist is ‘Tom Jones & The Cardigans’?

You could argue that if you select an Album then it should list the whole Album. Others will say it should only list tracks by ‘Tom Jones & The Cardigans’.

But it gets more complicated than that. If you list ‘Genres’ and then select a Genre it will list Artists and Albums containing tracks set to that genre. If you then select an Album should it select the whole Album or only the tracks that match the Genre you requested? Currently it treats Genres as a separate case and only lists tracks with matching Genres.

I am of a mind to say that, with the exception of ‘Genres’, selecting an album will list ALL tracks on that album if the option is set to sort Artists by albumartist. It it is set to list Artists by artist then it should only select tracks by that artist (‘Tom Jones & The Cardigans’ in the example). That of course means that if we select ‘Tom Jones’ as the Artist then any tracks by other artists (example : ‘Tom Jones & The Cardigans’) will be excluded from the selected tracks.

Achieving this is fairly easy but I am interested in your (and others) thoughts…

Albums under one and the same albumartist tag but with different performing artist tags are not playable as a whole now, not via artist nor via album.
Off course this is not the case for albums with an ¨Various Artist¨ artist tag.

My complete library is digitally bought with official tags.

If you click an album it should always bring up the whole album IMHO.

I sort artist by albumartists.

Overall update on Jan 24th

@liberator

Your comments above suggest that nobody knows how artists, album-artists, compilation albums, etc should really be handled. It’s still all up in the air. That’s also the impression I got while browsing the code. I gave up trying to contribute anything related to these issues (I simply couldn’t determine intent), and instead wrote this post which unfortunately hasn’t gained much attention:

sort-artists-setting-what-for-t8620.html

I’m glad I found this thread, since it deals with the same issues. These are my two cents:

Even if navigation in Volumio were bug free (which it isn’t), almost all users would still consider it bug ridden. That’s because how it works now is neither familiar nor intuitive (behaviors that don’t match expectations are considered bugs). I’m unaware of any other player/tagger that takes the approach Volumio does (whatever that approach actually is). In no other program must we specify the strings which designate compilation albums. In no other program must we choose to “sort” artists by artist or album-artist. I’m having difficulty believing that Volumio is the only media player on earth that justifiably relies on such constructs.

This is my main point:

Browsing an audio collection must be simple, straight forward and intuitive. If we need a manual to understand browsing, and/or to set our expectations correctly, or any explanation whatsoever, then in my view that approach has utterly failed. The browsing experience on Volumio is, first and foremost, in dire need of simplification.

What to do?

I don’t claim to have a perfect solution. It may be I have no solution at all, because I’m not sure I understand all the navigational requirements people have. Based on your statements above, it sounds to me like the artist vs album-artist & compilation-album conspiracy is really just about how and when filtering is applied to tracks and albums. If that’s correct, then maybe something like this would be a better solution:

Changes

  1. Do away with both the “Compilation Metadata Fields” and “Sort Artists By” settings. Whatever they solve isn’t worth the confusion they cause.

Basics:

  1. The values in a track’s album and album-artist fields determine album affiliation. If the values of those two fields are the same, the tracks are considered to be part of the same album. Period.
  2. The list of artists in the Artists view is created from the intersection of two sets, one set containing all artists and the other containing all album-artists.
  3. Click on an album and Volumio will display all tracks belonging to that album. Always. No matter what URL the user navigated from.

Filtering Rules (Artists view example):

  1. In the Artists view, after clicking on “Aerosmith”, the UI will list all tracks where either the artist or album-artist fields contains “Aerosmith”. The list of albums will contain the corresponding albums.
  2. The UI will display a preserve-filter switch. The preserver-filter switch is “Off” by default and it remains on-screen until the user navigates back to “home”. Below is an image of what this might look like (ehem… ugly developer mock-up).
  3. If the preserve-filter switch is set to “On”, all tracks where neither artist nor album-artist contains “Aerosmith” are grayed out/darkened. In the image below this would have no affect. However, were the user to click on a compilation album that contains only one track associated with “Aerosmith”, and set “preserve- filter” to “On”, then all tracks except for that one would be grayed out/darkened.

Additional Rules:

  1. The Genres view works similarly, just using genres rather than artists.
  2. Clicking the play button will add to the play queue (a) whatever list of tracks the UI is currently showing, which (b) are not grayed out/darkened.
  3. If it can be determined that setting the preserve-filter to “On” would have no affect, it may be disabled (if we wanted to get fancy).

Volumio.png

I’m not sure if this proposal actually addresses the problems Volumio is currently trying to solve. It’s just my first attempt at what I’m guessing the problems may be. If it does in fact address those problem, I think this would cause a lot less head-scratching than what we have now.

Final comments:

Are you sure that is true? From what I can tell if “Sort Artists By” = “artist”, then artists that exist only in the album-artist field are omitted from the Artists view. Have I missed something?

The option is currently called “Sort Artists By”. I know what it does, but I don’t understand the problem it’s trying to solve. At the very least it’s easy to misunderstand, because it doesn’t actually sort anything (i.e. have any affect on order).

Off course it is well known how a music library should be handled. Just copy iTunes behavior like any other project.

  1. I disagree, only the album-artist fields should be used, that is exactly where it is for.
  2. Disagree again, only album-artists should be shown. (just like iTunes)
  3. Completely agree

I really do not get the confusion about this.

If this was as well known as you think it is, Volumio wouldn’t behave as differently as it does. At the very least, the people who designed Volumio weren’t aware of how other taggers/players do this, or they felt they had good enough reasons to deviate from that. I suspect the later, and it probably wouldn’t hurt to at least understand those reasons before coming to any conclusions.

Which makes it all the more ironic that you too are confused, at least partially.

No software in the world determines album affiliation the way you think it does, i.e. by using nothing but the album-artist field (including iTunes). Like I said, to determine album affiliation, we also need the album field (that is the album name), otherwise every album-artist in your collection could have at most one album. Think about it some more and you’ll get it.

I don’t care whether you disagree or not. I only care about why. Your contribution is worthless otherwise.

If you want the list of artists in the Artists view to contain only values from the album-artist field, then Volumio is already perfect for you (just set “Sort Artists By” to album-artist).

IMHO there are many reasons why your approach (and Volumio’s) leaves a LOT of room for improvement. The simplest to understand is that it excludes all artists from the list, who contributed only to tracks belonging to compilation albums. For example, although you might have the song “Thriller” on the compilation album “Now 25”, Michael Jackson will not be listed in the Artists view. Instead, the list will contain one artist named “Various” which is associated with every compilation album in your collection.

My approach puts all the artists in your collection on even footing, i.e. the artist “Michael Jackson” will be listed in the Artists view irrespective of whether his name appears only in the artist field, only in the album-artist field, or both.

I don’t understand how you could possibly find your approach better than mine, but if you still disagree, and can articulate why, I’d very much like to hear it.

I agree with the first mostly:
-album tracks determined by “album artist” / “album title” combination

  • artist list combination of “album artists” and “artists”

However I would prefer to have an option to filter the Artist list to show only the “album artists” to easier browse for specific albums (as this filters out all artists only appearing on compilations)

Furthermore when browsing from artist view to albums and selecting one album I would like to be able to have a choice to only show the tracks for the selected artist (default) or to show all tracks of that album.

For classical music listeners you should be able to set an option to use composer instead of artist in the above examples (or to have this automatically determined based on Genre? Probably not possible though)

Sent from my iPhone using Tapatalk

@kaosmagix

Interesting. Your preferences appear to be quite the opposite of what most others have stated so far.

In the settings, if “Sort Artists By” is set to “album-artist”, then Volumio already works exactly how you want it to. Right?

Are you positive that this approach is the best way to do what you need? What about a switch directly in the Albums view labeled “Exclude Compilation Albums”. Would this work better or worse for you, compared to the current approach? Why?

First and foremost, what do you really gain with this? Why not just type the first three letters of the artist’s name in the search bar and press enter? That instantly filters out a huge swath of artists, does so much faster than scrolling through the huge lists, and limits the list to a very manageable number of entries, even in large collections.

The best approach for something like this is to make it as simple as possible and as complicated as is necessary. I’m not yet convinced that this is really necessary, or that there isn’t a functionally equivalent yet simpler solution that works better for everyone and doesn’t require casual users to understand what information is stored in which ID3 tags.

I believe this is, for the most part, what I described in my earlier post in the section “Filtering Rules (Artists view example)”. Take a look and let me know what you think.

Very good point. I think that actually might be possible, although right now I’m less interested in what’s possible and more interested in what people think is optimal.

I think my default artist behavior is the same as suggested: combination of artists and album artists

But if I just like to browse the artist list to get inspiration on what to listen I often prefer to see only album artists (around 3000 different ones) opposed to browsing the 25000 artists of which many have only one track. I imagine a checkbox in the artist view to only view album artists. If the same can be done with a checkbox to ignore compilation albums that fine though (but this requires Volumio to know what the album artist for compilations is, this exist now but is questioned in this topic). Using my option you don’t need the setting for “sort by artist/album artist either). Eliminating all the Setup setting and adding a checkbox in the browse window

If you exactly know what to listen to, Volumio works fine as it is (although behavior is not clear) but for inspiration browsing the above will help a lot

Speaking of what I miss most is quick scroll with a letter bar and displaying disk number besides the track number, but this has nothing to do with this discussion.

I also use MediaMonkey and there you can always choose to use either or both artist/album artist.

It would also be great if Volumio could use artist sort name and album sort name tags for sorting in the lists and displaying the actual names/titles

Sent from my iPhone using Tapatalk

I misunderstood this part:

If the combination of the values of those fields are the same for every song the tracks are considered to be part of the same album. Most off the time the values itself differ from each other and are not the same. Except for albums like Eric Clapton by Eric Clapton etc.

I disagree because I think only album-artists should be shown. But this is just my opinion. The way it is now is perfect and is on pair with other music software. Nothing should be changed here.

I totally agree with kaosmagix

Absolutely. I’d definitely prefer a solution that doesn’t require Volumio to know any “magic” ID3 values (like the values people use for album-artist to designate compilation albums). Right now I just don’t care about solutions that much. What I’m actually trying to understand are the problems. All discussions of solutions (at this point) are only a way of eliciting reactions and discussing certain concepts, in the hope that this gets us closer to understanding what people’s needs actually are, like this:

You’d rather browse “only” around 3000 artists as opposed to the entire set of 25000, many of which have only one track. Would you then not prefer the ability to list ONLY those artists + album-artists which contributed >= X tracks to your collection (where X is any number)?

You could then specify the rarity of artists + album-artists to cull from the list. This would also give you some influence over how long that list of artists becomes, which you could then tailor to a length you are comfortable browsing, rather than having to accept the number dictated by the album-artist field. Also consider what happens if you’re the type of person who purchases individual songs rather than complete albums. In that scenario, your album-artist based approach will still result in the list containing many (potentially thousands) of artists who’ve contributed no more than one or two tracks to your collection, resulting in exactly the situation you want to avoid. Culling artists + album-artists based on rarity avoids that. Enter the number 7, and all artists who have contributed less then 7 tracks to your collection will be removed, even if they are album-artists. On the other hand, a person with a lot of country compilation albums might still find “Johnny Cash” in the list, even if he himself is never listed as an album-artist.

Lastly, culling the list based on the rarity of artist + album-artist can be grasped intuitively. It removes artists from the list based on how many tracks an artist contributed to your collection. Period. There is absolutely no requirement to understand the technicalities of ID3 fields.

Would this be better or worse for you? Why?

I understand why the search-box approach doesn’t work you, when you’re looking for musical inspiration rather than a specific artist.

Yup, I miss that too. That’s strictly a front-end UI issue however. If I end up working on this I’d limit myself to the back-end.

True, but MediaMonkey is an advanced tagging application where that sort of insight and control is absolutely necessary. Volumio is a player. Does a player really need that sort of detail? Must we force all users to understand the technicalities of ID3 tagging just so they can browse and play their music? If so, then that immediately eliminates Volumio from the realm of simple, easy-to-use, wife-approved players.

Whether that is good or bad I can not say. It depends on Volumio’s target market. Although I’m hoping Volumio is aiming to become something any family member including technophobes can use, I can’t speak to this.

Agreed. I already made note of that some time ago. Right now I have no idea if mpd even supports that, but it’s something I’d want to provide if possible.

Songs with the same album-artist/album combination should be considered one album. If this bug is fixed Volumio usage will explode.

Yeah. That would be a start. It think that would probably fix problems like this:

github.com/volumio/Volumio2-UI/issues/448

Unfortunately, in many situations, Volumio’s unwillingness to list all of an album’s tracks isn’t actually a bug, but a feature. A requirement just recently expressed by kaosmagix is one such example:

Here kaosmagix want’s the album to exclude some tracks, which is mutually exclusive with your requirement to always show all tracks. So what is the best way to make this work for both of you, which is intuitive enough for a first time user to instantly grasp?

My two main points are these:

  1. This is quite a bit more involved than just fixing a bug or two.
  2. The only way to get this right is by questioning why Volumio works the way it does, whether what it does is essential, and if those things that are essential can’t be solved in simpler ways that are intuitively understood by everyone. I’m using this thread to do the questioning.

Anyway, your preference for the Artists view to contain only values from album-artist is another example of a requirement that is guaranteed to cause confusion. Many will realize that the Artists view isn’t showing all the artists in their collection and intuitively conclude Volumio is buggy. Having the Artists view contain all artists, album-artists, and even composers eliminates that potential for misunderstanding. So, the question is how do we do that, while maintaining the ability for people like you and kaosmagix to do what you want. Kaosmagix stated their reasons (shorter artists list for inspirational browsing). You suggested your reasoning is identical (I might be wrong). I proposed a potential solution in post #11. What do you think? ?Better? Worse? Why?

I think the default behavior should be as intuitive as possible, but as the target audience seem to be audio/music enthusiastsand as such must be capable of handling large collections:

  • Sorting on the sort name tags when present (“artist sort name”, “album artist sort name”, “album sort name”). Display using the normal name tags. -> gets rid of my annoying long list of ‘the …, and provides the option to sort artist persons on last name

    • “Artists” view a combination of “artist name” and “album artist name” -> always the complete list of artists
  • Tracks belonging to an “album” are determined by the combination of “album artist name” and “album name” (optionally this could be complemented with the current existing setting in Volumio for various artists, but I don’t know if this will add something for users not properly tagging albums as I have everything properly tagged, or replaced by “artist name” if no “album artist name” defined)

  • (Not sure) From artist view selection of album shows all tracks of the album (or is it more intuitive only to show the tracks of the selected artist?)

  • Tracks within an album are sorted by disk number, track number, track sort name (for single track buyers). I would prefer a visible grouping by disk number and showing track numbers but this could be a non-default setting. (I have many multi disk albums with the same tracks on the disks and it is now always difficult to see where the next disk starts)

My challenges with this default would be:

  • Browsing artists to get inspiration what to listen to: I would like to filter the artists for artists I have actually albums with -> the approach with filtering artists you mentioned, artists with > x tracks, of will work partially (as what I actually want to do is excluding the artists on compilation albums (I.e. I have album artists with a few albums but each album is only 1 or 2 tracks which would be excluded as well). My first thought would be to filter on album artists only. Maybe a better more flexible approach is to create a new main view “album artist” and call the other one “all artists” as this has the least effect on the default behavior.

  • Another issue I have is thatI have multiple versions of the same album (different releases with different versions of tracks and bonus tracks etc). Which now appear mixed as one album now (with first all track 1’s, etc.). I don’t have a good solution for this other than misusing disk numbers or album names. In Mpod/MPad I could solve this by grouping on physical folder but this feels like a hack. In MediaMonkey I use the Year/catalog number or discog Id. But these are custom tags. This could be solved by custom album tag strings this is flexible but feels as a too complicated situational and specific feature.

Other:
As Volumio is probably depending on the options available through MPD, I don’t know what is possible or impossible.

Sent from my iPhone using Tapatalk

@kaosmagix

Thank you very much. That was, for the most part, very helpful.

Unfortunately, I still don’t understand why, for you, musical inspiration is so strongly tied to the type of album the music is on (album-artist vs artist). IMHO that is merely a technicality, related to how tracks are distributed across physical media. It has very little to do with the music itself.

In the Albums view, I can completely understand wanting to remove compilation albums, or wanting to do the opposite (show nothing but compilation albums). The Albums view is about albums after all. In the Artists view, when you’re browsing for musical inspiration by artist, the album-artist vs song-artist question seems artificial, arbitrary and irrelevant to me.

If you have 100 tracks from artist A, I’d say it’s extremely likely that you really like artist A, whether A is an album-artist or not. If it’s musical inspiration you’re after, you’d likely also want A to appear in that list of artists. If you have only two tracks by artist B, but B is listed as an album-artist, I’m not sure how that makes B any more important in terms of musical inspiration.

I realize that you see this differently. That I don’t understand why just makes it hard for me to shake the feeling that your main reason for wanting this capability is nothing more than it being what you are used to, rather than it actually being a good solution to a real problem.

Still, even if familiarity is the only reason for this capability to exist, if enough people feel that way, that would still be a good reason to maintain it.

I think the first thing to decide on is what you expect as the default behavior. This is probably subjective as well. (I stated what I think would make the most sense and seems logical)

I thought a little more about my reasoning and what I actually want to achieve: I like to browse the artists I bought album from and like most (a lot of artists on compilations I actually don’t like but where only part of the package. So I actually want to see all album artists, but I actually also want to see their tracks on the various artists albums). Let me think on it a little more.

Sent from my iPhone using Tapatalk

It may help your thought process if we’re very clear on the fact that we’re discussing two different things here.

  1. The filter-configuration.
    The filter-configuration determines which artists we can choose from:
    1a)
    If the “Sort Artist By” setting is set to , then the set will include only album-artists
    1b)
    If the “Sort Artist By” setting is set to , then the set will include only song-artists
    1c)
    Although currently unsupported, the filter-configuration could also be a mix of multiple things, i.e. contain all album-artists, all song-artists and all performers (for classical music).

  2. The actual filter.
    After selecting an artist, we’re shown albums and tracks that are associated with that artist. However, exactly what Volumio shows us currently depends on the filter-configuration that was used:
    2a)
    If the filter-configuration listed album-artists, then we’ll be shown only albums and tracks where album-artist = . If the selected artist also performed tracks where he/she isn’t the album-artist (as on compilation albums) those tracks (and associated albums) won’t be shown. This isn’t always what people expect and the cause for much confusion.
    2b)
    If the filter-configuration listed song-artists, then we’ll be shown only albums and tracks where the song-artist = . While this will typically work as expected, it can fail in some situations. However, these failures aren’t related to this topic (an entirely different sort of problem), so I’ll just ignore it for now.

So, how the filter works is tied to (or is dependent on) the filter-configuration. In your case, what I think you want is for the filter-configuration and the filter to be independent of each other. Essentially, you want [1a] and then rather than [2a] (which is what you get now), you’d want [2b].

TBH, I don’t see the utility for [2a]. I think Volumio would be simpler to develop and far more intuitively understood if the filter-configuration was relevant only to step [1] and [2] would always use method [2b]. Period.

Would this be a good match for what you’d want to achieve? If so, can you think of any reason not to simply remove [2a] and have the filter just always work according to [2b]?

I realize that we could just make the filter configurable, but I’m not sure that’s actually solving a real problem. If it is I don’t see what that problem is.

I don’t think we’ve reached the point where we can decide what the default behavior should be. I think we’re still figuring out what behavior(s) make(s) sense at all.

I’d love to see and option to search/index by both track artist (“artist”) and album artist. I use album artist religiously and it is really useful not only for compilations but for those albums where there are guest vocals etc which generate additional artist variations within a single album. This “hides” the principal artist in a search making the “artist” search/index useless in some cases (lots for me)
If there was an option to use album artist it would allow searches for whole albums by both album and album artist which would be really useful.
Don’t use one or the other - can’t we have both!?!

Getting ready to plunge into Volumio – I’ve been using a Raspberry Pi with Minimserver for a couple years now. Plus several different Rockboxed audio players over the years.
Question: Has the “albumartist” question been worked out, since this topic?

Seems it should be pretty straightforward. It might help to think of “albumartist” as the Search value, and “artist” as the Display value. Consider these artists:

  • A Flock of Seagulls
  • The Beatles
  • The Moody Blues
  • The Rolling Stones

I’ve got those values for “artist” on their tracks. But I don’t want to have to wade thru a bunch of “The” and “A” when I’m scrolling thru my list of artists. I have all of these on my server with different values for “albumartist”:

  • Beatles
  • Flock of Seagulls
  • Moody Blues
  • Rolling Stones

The Alan Walker album “Different World” has various tracks “with Sorana” or “with Noah Cyrus and Digital Farm Animals featuring Juliander”. I’ve preserved some of that stuff in the “artist” field to display while playing; but when I’m looking for the album, I want the whole thing. The “albumartist” field has Alan Walker for those tracks.

Soundtrack albums are straightforward too. I have these listed as “albumartist” entries:

  • Pitch Perfect
  • Scott Pilgrim

Individual tracks might be by Anna Kendrick or Nicki Minaj or The High Highs; or by Sex Bob-Omb or T Rex or Metric. I would expect that artist to be displayed while playing the song. But when I want to play the whole album, I would expect to find it under that “albumartist” tag.

I would expect sorting to be by “albumartist” where it exists (substitute “artist” only where it does not exist), and secondarily by “album”. Is that how it works?

If selected sort by ALBUMARTIST.
For 1 entry I see 2 entries even though ALBUMARTIST is for both “Sting”