epoupon / lms

Lightweight Music Server. Access your self-hosted music using a web interface.
http://lms-demo.poupon.dev
GNU General Public License v3.0
1.05k stars 60 forks source link

CUE sheet support #2

Open arthurl opened 4 years ago

arthurl commented 4 years ago

Hi, does LMS support CUE sheets? I didn't see any mention of it either way in the docs. CUE sheets are commonly used in audio CD archives (usually CUE + BIN or CUE + FLAC).

epoupon commented 4 years ago

Hello, There is no CUE sheets support at the moment. I have to say I usually just split them into tracks that I can properly tag them using Picard (music brainz). LMS may be hacked to handle them, but I guess it would raise some questions: MBID support, custom tag, multi-artist and multi-genre support, etc.

By the way, do you see any advantages in using CUE files?

arthurl commented 4 years ago

By the way, do you see any advantages in using CUE files?

From the perspective of listening to your music, no. The main advantage of CUE + BIN is archival; now you have a bit accurate copy of your CD (that you won’t be able to reproduce from a split set of tracks). This includes things like the pauses inserted between tracks, the pre-gap before the first track, non-audio data from mixed-mode CDs.

Basically, it's for obsessive hoarders.

LMS may be hacked to handle them, but I guess it would raise some questions: MBID support, custom tag, multi-artist and multi-genre support, etc.

I gather that the metadata is read from the media files on disc, but what happenes to the metadata retrieved from AcousticBrainz? I assume that LMS stores it in its own database?

Purely hypothetically speaking, would you accept a patch for such a feature if someone wrote one (assuming there’s some sane way to do it without breaking the main structure)? Or is it so far from your project goals that it's not something you want to merge?

Anyway, I’m asking because I’m trying to choose a media server. So far I really like this project, so thanks for that.

epoupon commented 4 years ago

Ok I see your point.

Metadata is indeed read from audio files, some of them are replicated in LMS's internal database to speed up queries. Therefore your audio files are assumed to be correctly tagged, no data is gathered from musicbrainz.

For acousticbrainz, this is another story. Audio analysis results are gathered from acousticbrainz, these results are stored in the database and are used by the recommendation engine. You just need a valid mbid tag in your audio file to make the recommendation engine work.

If ffmpeg handles the bin files (I have not checked), I think the cue support would be quite simple, as long as you accept it to be somewhat limited (no gap support, probably no mbid, probably no multi values tags, etc.), but that is already the case for some file formats. I would definitely merge this.