navidrome / navidrome

🎧☁️ Your Personal Streaming Service
https://www.navidrome.org
GNU General Public License v3.0
12.1k stars 902 forks source link

Ability to deduplicate identical songs/albums #296

Closed r0zbot closed 4 years ago

r0zbot commented 4 years ago

If you have multiple formats for the same song/album on your library, they show up multiple times. It would be nice to be able to ignore songs that match the same title, artist and length, so they only show up once. The prefered version should probably be the highest quality one.

deluan commented 4 years ago

There has been some discussions about this in our Discord channel. There is simply no way to automatically do this, taking all edge cases in consideration. Ex:

EDIT: Just found another example: Instrumental versions of the same track. Same artist/track name, same length. Specially if it is from an Instrumental album, where the track name wont have the (instrumental) suffix. Ex: The Creatures - Hái!: Original: https://www.discogs.com/The-Creatures-H%C3%A1i/release/7833342 Instrumental: https://www.discogs.com/The-Creatures-H%C3%A1i-Instrumental-Mixes/release/3957517

This de-duplication could be solved by using some acoustic-id, but that would make Navidrome's import super slow, more complex and I think this is out of the scope of the project.

I think a better approach is to give the user tools to mark some folders as "ignored", as this is a clear case of library curating, and manually doing it is clearly a better approach (IMHO).

Thoughts?

r0zbot commented 4 years ago

For the file types, we could go for a simple "biggest file is better", even though that't not always true, as its a reasonable enough assumption, since the use case for that is a transcode into a smaller format for syncing with limited storage devices (phone, car, etc...). But it's indeed not a perfect solution.

Having the ability to ignore some directories is definitely a less hacky solution, but it does involve more manual work.

Maybe a better option would be to make a list of "versions" of a song, and allow them to switch between them and also pick a default, with the added benefit of being able to switch between different releases/codecs/etc for a whole album (though I'm not sure what would be the best way to make this Subsonic compatible. Maybe show them as a meta-albums?). This would probably be a more complex solution though.

certuna commented 4 years ago

I guess the main use case is people with FLAC/320k originals and a pre-transcoded MP3 version for sync with their phone? Is that really still needed in 2020, now that most library managers support transcode-on-sync?

deluan commented 4 years ago

I'm closing this for now that there is a solution for this with #297, and the idea of having a list of "versions" is too complex and a bit out of scope

github-actions[bot] commented 1 year ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.