Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Solved: Multiple Genres Bug?
#31
I also already considered how multiple artists could be enabled.

So to be clear we are talking about two distinct tags (ot frames): AlbumArtist and Artist

While AlbumArtist is supposed to have only one single value (as far as interpret the standards),
there may be multiple Artists for a track.

All tags are per track, i.e., there is no "Album" entity. Tracks having the same Album tag are considered to belong to the same album. Theoretically tracks with a common album tag can as well have different AlbumArtist tags. But in Moode, as far as I read the code correctly, albums are identified by a combination of Album+AlbumArtist. So tracks with the same album tag but different albumartist tags are displayed as two distinct albums.

To make things even more complicated, I found tracks with multiple AlbumArtist tags. Some editors allow for adding tags/frames ad libidum and music databases like mpd can also handle this situation.

So as to me, best practice is probably to use one single AlbumArtist tag value with entries of either "Various Artists" or a string of the form "Artist A & Artist B ...".

Now to the Artist tag. In contrast to the AlbumArtist tag it can have one or multiple values (or to be precise: there can be multiple artist frames per track).

Currently Moode supports only one Artist tag per track. It is displayed with each track when showing the list of tracks for an album or in the player queue.  The Artist tag is also used as a substitute when the AlbumArtist tag is missing.
I think there might be room for improvement.

Conclusion:
-- AlbumArtist should have only one value per albun
-- Artist can have multiple values. But we have to think twice on how these may be displayed in tracks view w/o littering the view and what to use as a substitute for a missing AlbumArtist tag in order to uniquely identify an album.
Reply
#32
(09-01-2020, 09:48 PM)Atair Wrote: I also already considered how multiple artists could be enabled.

So to be clear we are talking about two distinct tags (ot frames): AlbumArtist and Artist

While AlbumArtist is supposed to have only one single value (as far as interpret the standards),
there may be multiple Artists for a track.

So far, so good, although there is no "standard", just lots of de facto specifications which are ridiculously vague.

Quote:All tags are per track, i.e., there is no "Album" entity. Tracks having the same Album tag are considered to belong to the same album. Theoretically tracks with a common album tag can as well have different AlbumArtist tags. But in Moode, as far as I read the code correctly, albums are identified by a combination of Album+AlbumArtist. So tracks with the same album tag but different albumartist tags are displayed as two distinct albums.

The fact that there is no "Album" entity reflects IMHO the birth of music metadata tagging in the portable music player industry where the song was king. Sad really, that the recording industry itself stubbornly refused to consider the possibility of recording complete musicology data to every CD [1], but I can understand the FUD which surrounded this new technology. To them LPs, cartridges, cassettes, and CDs could be treated exactly the same: some medium with a printed label and insert. Then their business got disrupted.

As for using Album+AlbumArtist as an identifier, that seems common practice. While AlbumArtist isn't well defined, its dominant usage is a sorting key to get the album into the right "bin" (to use the analogy of a physical CD in a bricks-and-mortar store) where more than one artist is involved. Interpreted this way, the example you cite seems correct. Of course, it also means that two different albums with "Various Artists" and with the same Album title, "Greatest Hits", say, are considered the same album. Not a problem in the physical store analogy where they just get put next to each other in the bin, but a problem when a digital player aggregates all the tracks into a single "album".

Quote:To make things even more complicated, I found tracks with multiple AlbumArtist tags. Some editors allow for adding tags/frames ad libidum and music databases like mpd can also handle this situation.

Whether or not it's possible syntactically to have multiple values, I believe such tracks need to be cleaned so that they have a single AlbumArtist entry.

Quote:So as to me, best practice is probably to use one single AlbumArtist tag value with entries of either "Various Artists" or a string of the form "Artist A & Artist B ...".

Agreed, although in my collection I reserve "Artist A & Artist B" for groups commonly billed that way.

Quote:Now to the Artist tag. In contrast to the AlbumArtist tag it can have one or multiple values (or to be precise: there can be multiple artist frames per track).

Currently Moode supports only one Artist tag per track. It is displayed with each track when showing the list of tracks for an album or in the player queue.  The Artist tag is also used as a substitute when the AlbumArtist tag is missing.
I think there might be room for improvement.

Isn't this the issue for which Tim has accepted your proposed code patch? Am I missing something here?

It is common for there to be no AlbumArtist entry when none is needed. However, because different players are quite inconsistent in their behavior (see all the agonized cries on various Internet forums) some people have gotten into the habit of explicitly filling in the same value for Artist and AlbumArtist on every track. It's only really needed if there are multiple artists involved, and if it's not there in that case, then, again, I believe the tracks need to be cleaned.

Quote:Conclusion:
-- AlbumArtist should have only one value per albun
-- Artist can have multiple values. But we have to think twice on how these may be displayed in tracks view w/o littering the view and what to use as a substitute for a missing AlbumArtist tag in order to uniquely identify an album.

It seems to me moOde already covers the case of no AlbumArtist entry when there is only a single Artist entry. Perhaps just choose the first Artist entry if there is more than one? To do otherwise is to try to second-guess the intent of the folks doing the tagging.

Isn't metadata fun?

Regards,
Kent
Reply
#33
Quote:Whether or not it's possible syntactically to have multiple values, I believe such tracks need to be cleaned so that they have a single AlbumArtist entry.

I think it would really be a nice feature to have multiple AlbumArtist values. For instance to find the album "Riding with the King" both under "Eric Clapton" and "B.B. King". Although it's ok for me to use the "... & ..." scheme.

Quote:As for using Album+AlbumArtist as an identifier, that seems common practice. While AlbumArtist isn't well defined, its dominant usage is a sorting key to get the album into the right "bin" (to use the analogy of a physical CD in a bricks-and-mortar store) where more than one artist is involved.

Moode uses the string Album@AlbumArtist as compound key. When AlbumArtist is missing, it is substituted with Artist. Artist exists in any case, either a value that was existent in the track or set to "Unknown" during setting up the Moode library.
If we would have an array of multiple AlbumArtists, for creating the compound key it would be sufficient to fetch the first AlbumArtist in order to make it unique.



Quote:Isn't this the issue for which Tim has accepted your proposed code patch? Am I missing something here?

No, this was for multiple genres.



Quote:It seems to me moOde already covers the case of no AlbumArtist entry when there is only a single Artist entry. Perhaps just choose the first Artist entry if there is more than one?

Currently Moode supports only on single Artist entry per track. If the track has more than one Artist, only the last value survives, because each new value coming in overwrites the previous one. (Same logic as it was for genres.)

There seems to be also one problematic situation: When none of the tracks of an album have the AlbumArtist set and each track has a different Artist, the album is split into many according to this logic. But I have not tested yet whether this really occurs.

Quote:Isn't metadata fun?

Could be  Rolleyes.

If Moode would support both multiple AlbumArtists and multiple Artists, the first should be exclusively used for the Artist column in the tag view, while the latter should only be visible in the track details.
Reply
#34
As to the ID3 (informal) standard: It allows for multiple strings for any text frame. It is only not allowed to have more than one text frame with the same id in a track.


Quote:4.2.   Text information frames

  The text information frames are often the most important frames,
  containing information like artist, album and more. There may only be
  one text information frame of its kind in an tag. All text
  information frames supports multiple strings, stored as a null
  separated list, where null is reperesented by the termination code
  for the charater encoding.
Reply
#35
@Atair

Oops, sorry about my mixing up genre and artist issues. I'll use vinnn's excuse (which I suspect he borrowed from me): not enough coffee this morning.

That null-byte trick was introduced with ID3v2.4. There's a lot of software which is still stuck on v2.3. Because of our recent flurry of activity, I was just creating and verifying some files to add to my test corpora to see if MPD's plugins recognize it. 

Multiple entries of any field name is not an issue with Vorbis comments, as already discussed. 

Apple never seems to get around to publishing its internal specs for its metadata scheme used in iTunes for aac/m4a files, but let's just assume that there can be many occurrences of @genre (genre), @art (artist), aART (albumartist) metadata "atoms". My go-to Python tool mutagen, for example, is deliciously vague. Its docs say "[T]ext values (multiple values per key are supported)" where by key they mean atom name such as @art.

It still seems to me that using multiple albumartist entries defeats the intended purpose but I won't argue the point. I can always ignore the "feature" if present.

Regards,
Kent
Reply
#36
@Atair

So I said "I was just creating and verifying some files to add to my test corpora to see if MPD's plugins recognize it."

In early testing, it appears that the null separator is parsed properly, at least when used in an ID3 tag on an MP3 file. Still ahead, an ID3 tag with an AIFF file and a WAV file just to complete the circle for formats which accommodate ID3 tagging.

Apple iTunes and Microsoft WMA tagging schemes are next.

After which I'll create a FAQ post summarizing the different schemes.

Regards,
Kent
Reply
#37
Quote:After which I'll create a FAQ post summarizing the different schemes.

That would be highly meritorious! The matter is so complicated and nebulous that it would be really a good deed to shed some light in it.
After all, the best music database is of little use if only few know how to make the best out of it.

Meanwhile I am going to analyze the scripts a bit deeper to figure out what I could do. Guess this takes quite a while.

- Walther
Reply


Forum Jump: