Add support for single audio files with embedded CUE sheets

I will add a +1 here too.

I actually rip each of my CD to a single .wav file + .cue file. This is my master image, and I have written some programs that will split to multiple WAV files in a folder per CD, based on the CUE, and optionally transcode these to MP3 for use on my phone, FLAC files for my Pono player, Etc. I also wrote a version that will convert to a single FLAC w/ embedded CUE which I sync (using the wonderful BitTorrent Sync software) to my laptop for listening on the road (wish I could take Roon with me, but my Roon Core runs on a headless server in my stereo rack)

I have heard the argument from @danny about CUE files being a defunct format with the advent of gapless playback, but I would challenge that assertion. For me, the format has several advantages:

The key advantage of single file + CUE is that the album is always held together as a single unit. I had several cases where Roon did not recognize some of my tracks for some reason, and I ended up with non-contiguous albums. I like to think of my collection as a collection of albums, not a loose collection of tracks. I do not have any partial albums in my collection, which is mostly physical discs (vinyl and CD), as well as some downloaded high-rez material. One of the things I really like about Roon is that it also focuses correctly on albums, not tracks. It would make track grouping 100% foolproof if the disc is represented by a single file on the file system.

I also like that it makes it easy to burn a new CD if I lose or damage the physical disc and need a new hard copy. Using single WAV+CUE ensures that the burned copy will be identical to the original. The exception, because I am not using .BIN files, is that I would lose any non-audio data.

One final advantage is that I do not need to consider GAP handling when ripping the CD. Many CD rippers will often append any gaps to the end of the previous track. This behaviour works well when the gap contains silence, so that when you select a track it starts playing right away and skips the gap. It becomes a problem, however, on live recorded CDs, where technically the samples contained in the GAP often belong to the following track. If you were listening to the actual CD in a CD player, the previous track would finish, and the CD player would start counting down “-00:30, -00:29, -00:28, -00:27” Etc. as it plays the intro to the track. If you were to skip directly to the track, however, it would skip the intro (Index 00) and start playing the track directly (from index 01).

I realize I am a bit OCD, but it bothers me so much that I actually wrote my own media player that can read native WAV+CUE images and behave correctly, as a CD player would. Gapless playback is inherently simple between contiguous tracks on an album, as the program streams a single file out to the audio driver (via WASAPI) and uses the CUE to determine the position/track, and closes the device when a new file (album) is selected. Obviously Roon has implemented a more complex rendering algorithm to ensure gapless playback across multiple files, so this is not an issue in Roon.

Ideally, I’d love to be able to import my single WAV+CUE+JPG images directly into Roon, but I don’t mind transcoding to single FLAC+CUE.

Much more about CUE files and gap handling here

Also, @o0OBillO0o also made a similar request, but for .BIN files, here

4 Likes