New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support multiple releases of the same album #489
Comments
This has been discussed in our Discord server, and it's been in my head for some time now, but we didn't have a issue to track it. Thanks for opening it. After the integration with TagLib (#480) is complete, I'll be able to start working on improvements in the scanner, including more tags and multi-valued tags, and will probably be tackling this then |
By the way, what I currently do in my own library in these cases is to add a disambiguation qualifier in the name itself, like:
I understand this is not ideal for some people, but I personally prefer to clearly see the disambiguation, as sometimes even the cover art for the albums are the same. |
I used to do that, but my library is now at the scale where needs to be managed by beets, so that won't work unfortunately. |
Well, I also use Anyway, besides using the MBIDs to disambiguate the albums, do you have any suggestion on how to make them visible distinct in the UI (if the cover art happens to be the same)? |
Huh, I didn't know about Personally, I'd be fine with an extra
If some fields don't exist, then try others, before finally falling back to MBID. e.g, unlikey worst case scenario, in which case someone should submit an edit to MusicBrainz and retag:
Or just spit a warning in this situation and retain the current behaviour. In my
So it'll first attempt to disambiguate based on type, then year, then country, etc. If you wanted to be extra fancy, perhaps some kind of overlay on the album art in the bottom corner:
|
@vs49688 Nice! How are you disambiguating the albums? Do you have the code pushed? It would be great to have a Draft PR so I could easily take a look whenever you wanted feedback or discuss any implementation details |
Potential fix for navidrome#489. If files don't have it set, use the nil uuid. Things to note: * As this changes the album id format, it will break all existing databases. Perhaps some kind of migration can be done during upgrade, in which the IDs are recalculated? * This only uses the musicbrainz release id as a POC - it could also be done with various other fields (e.g. year, country, catalog). * Something similar should be done with artists and album artists. They both also have MBIDs so this, assuming the approach is correct, should be trivial.
Is probably the wrong place for it. If "Scanner.UseMbzIDs" is enabled: * Converts library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. - All playlists, stars, etc. are kept. * This is an irreversible transformation; adequate warning is given. * If set accidentally, the user may cancel the migration within 10 seconds by pressing ^C. * Once enabled, it will throw an error if attempted to disable. TODO: * Trigger a full rescan to un-merge the albums
Is probably the wrong place for it. If "Scanner.UseMbzIDs" is enabled: * Converts library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. - All playlists, stars, etc. are kept. * This is an irreversible transformation; adequate warning is given. * If set accidentally, the user may cancel the migration within 10 seconds by pressing ^C. * Once enabled, it will throw an error if attempted to disable. TODO: * Trigger a full rescan to un-merge the albums
Is probably the wrong place for it. If "Scanner.UseMbzIDs" is enabled: * Converts library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. - All playlists, stars, etc. are kept. * This is an irreversible transformation; adequate warning is given. * If set accidentally, the user may cancel the migration within 10 seconds by pressing ^C. * Once enabled, it will throw an error if attempted to disable. TODO: * Trigger a full rescan to un-merge the albums
Is probably the wrong place for it. If "Scanner.UseMbzIDs" is enabled: * Converts library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. - All playlists, stars, etc. are kept. * This is an irreversible transformation; adequate warning is given. * If set accidentally, the user may cancel the migration within 10 seconds by pressing ^C. * Once enabled, it will throw an error if attempted to disable. TODO: * Trigger a full rescan to un-merge the albums
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
With this, would it be possible to have an option to show the catalog number if it exists? E.g. for Full House, show |
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
Converts the library to use MusicBrainz IDs for albums, artists, and albumartists, thus fixing navidrome#489. All playlists, stars, etc. are kept. This is an irreversible transformation; the user is given a warning and may cancel within 10 seconds by pressing ^C. A full rescan is trigged to un-merge the albums.
The data is already provided by the |
It would be great to see any progress in this regard, because every automation software(picard, beets) sets the album title back to the original name which then leads to the problems of non ambiguity in navidrome which is very frustrating since there are a lot of artists where this problem occurs. |
@HolyMacarony PR to fix it is here #1363. I've been running it since June without issue (except I've hit #1564 hard, but that's unrelated). |
thank you very much. i just build your PR and now i have a bigger navidrome file (41mb instead of 35mb). But i dont seem to understand how i can trigger this conversion process towards MusicBrainz-Album-ID. Because i completely rescanned two servers using the new binary file but it does not make a difference. All of my checked Albums have a different MusicBrainz-Album-ID and are shown identically. Can you please tell me where i should look to see whether your conversion script "About to convert database to use MusicBrainz metadata. This CANNOT be undone." is running? Thank you |
The conversion is a manually-triggered process:
|
This is great! thank you i just tried it on all ABBA and AC/CD albums, worked flawlessly! But first i only did ABBA as offline scan. After that i added AC/CD and did an online full scan, which worked, too. So does that mean, it does not need to be a offline scan at all? So i can just always make the full scans online as usual? Thank you so much. This PR makes my collection usable with navidrome, thank you very much! |
You're welcome, am glad it's being used. You can do online scans as usual, the offline ones were just to minimise the risk of anything going wrong during the conversion. |
@vs49688 sorry for being a nag, but is there a built winx64 version of this? |
No sorry, I don't use/have any Windows machines. |
Whilst using MBID is great it's limited in usefulness because it relies on 1) the album version being present in Musicbrainz and 2) the user's tags including the pertinent Musicbrainz info. Reference should also be made to folder name in which an album resides (as the folder name may contain disambiguating information) and reference should also be made to a specified tag e.g. "version", which if present serves to disambiguate one release from another. Per MusicBrainz the the correct tagname for this is Given users of at least one software player have taken to using a |
Have you looked at the PR? It falls back to the existing behaviour if there's no MusicBrainz tags. |
I've not looked at it. My comment is intended to address the existing behaviour rather than your PR, which by all accounts does a great job leveraging MusicBrainz when the relevant metadata is present. It's when the metadata required for your PR to do its work is not present that my earlier comment applies. |
I use a tagged called Release Type which works really well locally using MusicBee. I populate it with things like 'UK, Re-issue' etc. I use another tag called 'Source Medium' to differentiate vinyl rips from CD rips. I then use a script within MusicBee to move my library items and create my desired folder structure. Eg: I'd love to see the option to be able to actually configure UI elements to display based on tags. This would enable users to set it up in their own way. There's never going to be a way that suits everyone. |
Hello @deluan i'd like to ask whether there is any other official way we are supposed to use navidrome without having this pull request merged? I mean there are countless bands in my collection which have exactly this problem of X Albums of the same name. look at ABBA or ACDC e.g. Without this PR navidrome renders itself not useable because of the lacking folder support. So what is the supposed alternative if this great PR which solves this problem is not going to be merged in navidrome? How does anyone use navidrome without this feature? i dont understand how it is supposed to work otherwise. Hearing every song of an album multiple times before the next one starts is not really an option imo. Thank you ! |
Deluan has proposed this: #1976 (comment) Which I agree with. In the meantime, use this: https://github.com/vs49688/navidrome/tree/v0.49.3-mbz I'm maintaining that fork until something is merged. I usually update it within a few days of a new release being tagged. EDIT: I don't provide binaries though, so you'll have to do that yourself (unless you use Nix). |
Splitting multiple releases of the same album, based on the Release Date tag (i.e., different Release Date = different Album) will hopefully come in the next release once the last wrinkles are ironed out of this PR #2162 (this even works with the non-standard way that Picard uses the Original Date & Date fields). This should already fix nearly all of the "difference versions" cases in practice, except if the different versions were released on exactly the same date. |
This is now merged and implemented - can be closed? Or do we keep it open to discuss disambiguating based on mb_albumID? |
The solution proposed in #1976 (comment) is a generalisation of both #2162 and #1363, so I'd say keep it open until something like that is done. #2162 is insufficient for my needs unfortunately, I'll have to keep using #1363. |
This issue has been automatically marked as stale because it has not had recent activity. The resources of the Navidrome team are limited, and so we are asking for your help. |
Many albums have slightly different variants depending on where (and when) they're released.
Case-in-point:
Currently Navidrome merges these under the same album in the Web UI (see attached image). Would it be possible to disambiguate these somehow? I'm not sure if there's any MusicBrainz integration, but perhaps songs could be grouped by the embedded "MUSICBRAINZ_ALBUMID" tag (if it exists) as well as the album name itself?
The text was updated successfully, but these errors were encountered: