beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.76k stars 1.82k forks source link

Handling of box sets #1821

Open nathdwek opened 8 years ago

nathdwek commented 8 years ago

I apologize if this is already discussed in an existing issue.

I would like to discuss the way beets handles large collector boxes like this one.

At the moment, beets imports this as one album titled "Suivre l'étoile", composed of 300+ songs, which is very hard to navigate. This is a pithy in the case of a box set because unlike a compilation, the songs are grouped by existing release, so the CDs actually make sense*.

I'm aware that it is possible to number tracks per CD, and that it is possible to make separate directories for separate CDs. However this doesn't really fix the underlying problem that for a box set, it would be intuitive to be able to easily access the individual albums by querying their release name.

Having read previous issue, I'm aware that the crux of this problem is to be able to reliably identify when this is the case from the metadata provided by musicbrainz/discogs. So this might not be feasible, I don't know.

Any input is appreciated. Do you have (many) such box sets, how do you currently access them, and how would you ideally like to access them?

*What I mean is: if it is a "real" (small) n CDs compilation of tracks sampled from various releases, which were arbitrarily grouped by the editor and only numbered or maybe titled with equally arbitrarily titles like "The blue period", "1960-70: Artist in Paris", you (I) wouldn't really expect people to try to access to their songs based on those separations. However, if it is a (large) n CDs box set which only regroups pre-existing releases, maybe with slight modifications, then maybe you would expect people to try and access songs by their original album. Here the box set stands between the user and what he probably really has in mind, which are n albums that he bought/got together because it is easier, or for price/availability reasons or because he was attracted in some extra features. [I'm sorry this last part might be a bit confusing/too subjective, I'll try to edit this later.]

sampsyo commented 8 years ago

I don't have too much to add (I don't appear to have any box sets like that), but I'd be interested to hear the discussion.

GuilhermeHideki commented 8 years ago

what if disctitle is included in search, when someone queries something without specific fields?

(old?) page about box sets in musicbrainz https://wiki.musicbrainz.org/History:Box_Set_Name_Style

Kernald commented 8 years ago

Note that some of these boxes includes some previously unreleased albums (or at least new recordings).

genevieve-me commented 10 months ago

As mentioned above, I think basing this on disctitles could make sense here. Since this an old thread, I'll share my own reasoning for bringing this issue back up. There are quite a few big box sets that are just a bunch of albums, e.g., "The Beatles in Mono", boxes named "X Classic Albums," or something like the "Complete Recordings on Deutsche Grammophon" of Bernstein, which has a truly daunting 121 albums included. For collection purposes (searchability, cover art, queueing up an album, etc.), it would be ideal (IMHO) to import these as distinct albums.

As you know, however, there are subtle differences (e.g., mastering) between the box set and the original album (like any re-release), so importing the albums as a different, separate release is "wrong," and the MusicBrainz standard is to treat the new release as a single release/group.

As there is no indicator in MusicBrainz for these cases of 'bundled releases,' other programs like Kodi use some heuristics (discussion of this on the MB forums. Here's the direct link to the Kodi forum thread where this is elaborated. This code path activates when the release includes three or more discs with different disc subtitles, OR the release includes “boxset” in the release type tag.

(Three is a fair number: there are a few digital releases on two named "media," but I couldn't find any on three or more in my brief search. It could hit a false positive on some vinyl releases though, e.g., "Mellon Collie and the Infinite Sadness" with six named sides on the original release.)

MusicBrainz also has an "included in" Release Group-Release Group relationship. Relying on this tag could be simpler than heuristics, but there are two major drawbacks:

  1. As this applies to release groups, which disc corresponds to which album is not specified, so beets would likely end up having to do heuristics anyways.
  2. As noted further down the above thread, this runs into some issues with deluxe editions: some deluxe releases with a lot of distinct items thrown in could easily qualify as a "box set," but the relationship can only be applied to release groups. (Some editors think those should be different release groups, but I don't know what the MB consensus is and it's outside the scope of this issue).

Handling cover art also seems tough: if the cover art is not embedded, I think that would require messing with the directory structure for most clients to recognize it correctly? Making the titles of any releases "included on" the main release searchable seems more feasible, if the medium/disc title could be matched with the "includes" relationship.

Let me link to another MB thread from August 2023 regarding box set handling. where the discussion continued later on, and 58% voted against adding some kind of "bundled releases" flag (n=12, in Sep 23). So it's unlikely to happen soon, and even if it did, the tag would of course take a long time to percolate through the database as editors adapted.

Lastly, it appears that "OriginalAlbum" is a specified tag for both FLAC/Vorbis and ID3 tags (the latter is named TOAL). This would seem to be the place to store this data, but it's a moot point if the metadata source doesn't provide it.

It seems like a disc title heuristic is the least bad option, and might be appropriate for a plugin? I don't know if a plugin would be able to provide an option for settings like paths or change what album name is stored, but making it possible to guess and store/search the original album name seems sensible and possible (albeit an imperfect solution).