Add support for single audio files with embedded CUE sheets

@danny I think there is still one key advantage to .CUE files (and old-school CDs for that matter) that Roon cannot replicate with a list of FLACs, and that has to do with handling “gaps”. I’m not talking about gapless playback (I understand that Roon’s playback engine is gapless) – rather I’m talking about the audio data that exists between the end of the last track and the beginning of the next track. The way the audio data is laid out on the CD, each track will have an Index 01 that points to the point in the audio stream where playback of the track should commence if you skip directly to the track. Depending on how the CD was mastered, however, there can be an additional Index 00 that contains audio data before the track begins. When listening to a CD, you would only hear this audio data when playing two contiguous tracks without interruption.

One use-case for these ‘pregaps’ is to add space between the songs. for instance, if you listen to track 1, then leave the audio playing, after track 1 ends track 2 might start with a 2 second ‘pregap’ of silence at index 00 before the actual track starts at index 01. When playing this ‘pregap’ data, a CD player would count up from -2, -1, 0 until Index 01 is reached and the song starts playing. if you were to skip the CD directly to track 2, playback would commence from index 01 and the silence in the ‘pregap’ would be ignored.

because this ‘pregap’ data is often silence, when splitting the CD into separate FLAC files, the ‘pregap’ audio data is most often appended to the previous track. If you play track 1, in our example, then a completely different track from a different album, track 1 would include the 2 seconds of silence from the pregap of track 2.

The issue I struggle with, however, is live albums. Often, the pre-gap contains actual audio data – the band engaging the audience, e.g. “this next track is…”. This audio data truly belongs at the beginning of the track, not at the end of the previous track. Index 00 points to the start of this ‘preamble’, and Index 01 points to the start of the actual song. If I want to just hear the song, I can skip directly to it, however if I am listening to the entire album, I hear this ‘preamble’ in sequence as intended. The problem, however, occurs when not listening to the entire album. I listen to a track, and then hear the band introduce the next track even though the next track is not in my playlist. Because the default behaviour of most audio rippers is to append the ‘pregap’ or ‘preamble’ audio data to the previous track, where it really does not belong.

What I enjoy about playback from .cue files is that I don’t have to be concerned about this issue at all. Players that use .cue files work exactly like the CD they are trying to emulate – if I listen to contiguous tracks I hear the “pregap” or “preamble” as intended, but if I skip between tracks (most often from different albums in a playlist) I don’t hear this data at all.

Roon has enough advantages that I live with this issue – it’s not a deal breaker. There are other software programs that handle .cue but I much prefer Roon. It sure would be awesome, though, if Roon could handle .cue files so that it could perfectly emulate the CD player’s behaviour on my ripped CDs. Perhaps this is not an issue with newer albums, mastering engineers will design the track layout for streaming and downloads.

The other factor, which you mentioned in your post, is that indeed some Roon members, myself included, have a fairly large number of albums ripped in this ‘legacy’ format. Currently I convert these to FLAC flies for consumption in Roon, but I would much rather Roon was able to import my archived CDs directly as single file .wav files & .cue file.

I realize we are likely a small minority, and this issue is a low priority for the team, but I did want to clarify that there are benefits to .cue files (and players than can utilize them) beyond just achieving ‘gapless’ playback.

2 Likes

Very lucidly put.

However, adding support to process this stuff between tracks only when playing contiguously is a project well beyond just adding support for BIN/CUE.

Do you take this data into account when doing normalization? what should the waveform in the footer look like during this in-between period? Should it be included in the length of the track or not? Etc, etc…

An easier way would be to think of the inbetween data as a new very short track that has a new type of entity, like a subtrack or something, that only plays when you chose to play it, which would be easy if you play album or ‘tracks from here’

There is another feature of the .cue files that I don’t think have been mentioned here.
At least on old CDs, long tracks that consisted of multiple sub-parts had an extra level
(sub-index?).
My old CD player used to display these (eg. it would display 01 04) when it played part 4 of track 1.
As an example, Atom Heart Mother (the track) by Pink Floyd consists of 6 parts
01 01 Father’s Shout
01 02 Breast Milky
01 03 Mother Fore
01 04 Funky Dung
01 05 Mind Your Throats Please
01 06 Remergence
I haven’t got the CD or my ripped copy at hand when I write this, but I believe at least the first version I bought of this CD (sometime in the 1980s) had these parts as sub-indexes on the CD. And when using for example Exact Audio Copy to rip it, the sub-tracks were then given their own individual sub-index (1 to 6).
All the six parts are indeed Atom Heart Mother, but it would be nice to also have the individual sub-titles displayed and accessible.
I don’t think it is used much on CDs these days (why?) - I liked the idea. At least when the record company managed to put the sub-indexes in the right positions.

I’ve used this feature of the cue files to some extent with Foobar2000 (which supports this), and I’ve actually also hand-made quite a few cue files manually for long tracks that have multiple parts (but no sub-index on the actual CD) to make the individual parts easily accessible.

This is far from essential for me, but it would obviously be a nice feature.

I think this would be really useful for classical movements – I am not sure why this idea did not really take off

I wrote this reaction today in another thread on this subject, but I think it is better off here…

I had just started my trial period with Roon, and the user interface made a huge impression on me. Never seen such a beautiful layout. All very well thought out. The databases are also better. I was already contemplating to use my credit card for a lifetime subscription when I found out that Roon cannot handle Cue files…

What an incredibly sad situation. Here we have a wonderful piece of software that doesn’t recognize the vast majority of my files. I am totally devastated. What on earth made this team abandon Cue files when there are still millions (or trillions?) out in the wild?

I read the explanation that the Roon team feels that Cue files have become redundant since the gapless playback has become mature with playing separate files, but I still cannot understand their position on this. One could say the same of MP3 files since bandwidth no longer is an issue, but apparently the team was wise enough to keep MP3 files supported.

The same goes for Cue files. There is an enormous amount out of these in the wild, because Exact Audio Copy has been a tremendous secure and reliable way of ripping ones cd’s.

I just did a search in my Music folder on my NAS and it contains over 2.700 Cue files (I have a collection of thousands of CD’s). There is no way I would ever convert these into separate files, since that process is tedious and extremely time consuming. It would takes hundreds of hours to do this, or even more….

What a pity that Roon made this strange strategical decision, where nearly all of its competitors are wise enough to support the huge base of Cue files. It forces me to dump Roon and stay with my tried and tested JRiver that also serves me very well, but I will miss the sleek interface of Roon.

I will check now and then to see if Roon comes to their senses in the future, but having read that this is low on their priority list, changes seem to be very dim. What a pity….

2 Likes

Am sure others may be able to confirm but I think cue converters are actually quite slick and can run batch jobs. I would suggest it is a set running over night rather than a tedious task.

It’s a one time task and a trade-off. That said if fundamentally you don’t want to do it then it’s irrelevant.

I totally agree that there are better ways of organizing your music then via cue files and that it’s become obsolete. But what if you have organized your music this way for years, made a perfectly organized collection with it that took a lot of effort. Now a better way of organizing comes along but it lacks a “translation” tool so you have to reorganize your entire collection manually first before the “auto organizer” of Roon can do its job. I fully understand why people would not sign up to Roon because of this.

1 Like

And that is on them, not on Roon. Yet, many of those people get huffy and act as if put out by Roon.

AJ

1 Like

I’m not one of them, but I can imagine it if you sign up for the trial period and found out Roon can’t read your library because it’s completely build around cuesheets (not in my case, just an example of a real world scenario) I can imagine you are not willing to reorganize / reformat your entire collection just for a trial period. It’s not a comment on Roon or anyone I just can imagine why people would be a bit dissapointed. Again, not me. I don’t speak for myself here, I have never used a cue file in my life.

Hello Nick,

Yes, I did test quite a lot of these tools (like Medieval Cue Splitter, XRecode, Foobar, and Cuetools), but they all have their strengths and weaknesses. None of them could be entrusted to do some large scale batch conversion. I wish this would be possible, but it isn’t.

If Roon would be able to read the information stored in the Cue sheet (which is a pretty straightforward process - no rocket science here), Roon would be excellent to convert the big Flacs into seperate tracks when exporting the collection.

I tried the Export function of Roon to see what it does. It seemed an excellent method to get an updated clean collection, but if you have Cue sheet files in your collection, it doesn’t even export these together with the exported big flacs… This means that the exported flacs become totally unusable after this process. Now one could argue that the Cue sheets could be copied manually afterwards, but with 2700 albums in Cue sheet format, this would be an unrealistic task for me.

While I can see that MP3 is an outdated format, I cannot see this being such a strong case with Cue-sheets. For classical music, they represented a reliable and 100% solid way of archiving ones collection. Even if one disagrees with this (because single file archiving has become more solid) I cannot see the logic of excluding so many potential users of Roon, particularly because implementation (for the sake of backwards compatibility) would be a very easy and small job for the coders of Roon.

I think a better way would be to integrate support for Cue sheets at least for a number of years to get people like me on board, who could then easily convert their archives with the help of the Export function of Roon. I cannot grasp why Roon decided to leave all those people out. If it would have compromised the program, or if it would have cost an enormous effort in coding, I could understand it, but neither is the case. This way they leave people like me firmly in the hands of their competitors (who nearly all decided to support Cue sheets). If Roon feels that separate files have a clear advantage, then get all those dinosaurs like me on board and offer them a good way of transition. Just my 2 cents…

Best wishes,

Peter

2 Likes

Not sure why you think this. Please read the dev’s posts on this topic.

https://community.roonlabs.com/t/dsd-iso-support/1259/7?u=rugby

And again:

Come on… not even the same ballpark of counts.

A dark example, but it’s like comparing cancer to ebola. Yes, “an enormous” number of people have died of ebola (almost 30,000), but it is not even in the same ballpark as cancer. Roon chose to spend resources on cancer research, rather than ebola research.

You can losslessly convert your bin to chopped up flacs and keep the cue for reconstruction if the need arises. That’s your cure.

2 Likes

Hi Rugby,

Thanks for pointing again to the dev’s previous posts. I understand his reluctance to make all the standard Roon features to work with the ISO or Cue files. I would be very grateful if Roon could at least play them. They could well be marked with a special CUE or ISO sign to denote that not all Roon’s features apply. Other programs have no hesitation in playing them…

If this remains a main objection, than why not implement a working solution for conversion to seperate files? Some suggested the other programs to use (like Medieval etc…) but they are really a pita. The best they can do is a controlled one on one conversion, but certainly not a batch conversion of many files. I tried them myself, and gave up.

For Windows CUETools does batch processing. For Linux, flacon does the same. Neither does milkshake though. :wink:

1 Like

That is true (batch conversion is fast). However, the tools that are available for free are not reliable (see other threads about the topic, particularly the one about Medieval Cue Splitter).

Gross generalisation.

Actually you already have the solution to converting all your cue files, you just don’t know. Select all your music files (that has cue files) in JRiver, right click > Library Tools > Convert Format. Choose flac (even though your files are flac) and JRiver will batch convert everything with all the metadata you may have edited carried over to individual files. Very little or no efforts required.
This is the beauty of JRiver, it does so much more that people don’t even know.

1 Like

I’m not sure there are too many still kicking about from the early days of ripping cd’s insisting on using embedded cue. It has no inherent advantages still relevant in 2018. It’s a legacy format that’s dead easy to switch from. Roon doesn’t support it and never will, so throwing barbs at its creators serves no purpose other than to vent your frustrations.

1 Like

No, just keep dogmatically insisting that Roon change the way it works to suit your ideas. I’m sure it will bear fruit for you.

2 Likes

There might be a little element of that here, however, I think that is more the result of the Roon team being much more engaged with their community in this forum than other software developers than it is a desire to fight with users. In other words, you wouldn’t make this comment if the Roon team didn’t respond at all; you’d just have the same experience that most users have with most software forums, being that for the most part the company doesn’t respond. Or only someone with poor writing skills who provides low-level user support, and knows nothing of the product, responds. Consider the incredible visibility and transparency we get when the company’s COO and CTO respond, when their product designers respond. They’re wiz kids and we are directly interacting - there’s no way we will agree on everything, but still this is invaluable if you love the music hobby as much as the average poster here does.

This I have some sympathy for. Foobar, for example, has no problem handling CUE sheets and that includes playing an individual track that is in the middle of the single FLAC file. so much so that I had forgotten that a few albums in my collection were CUE sheet based until I switched to Roon. As a general matter I feel that Roon requires too much manual work WITHIN ROON (i.e. that is not import-/export- able to and from Roon so that such work remains of value even without using Roon) to make it work “just so” as many of us neurotic music curators must have, as a matter of personal definition.

That is your choice. As above I have sympathy for the fact that the Roon team believes that eventually their software will be able to organize our collections to some golden standard that I don’t think is reachable because (1) we all have our differing opinions on what we want and (2) there is simply too much imperfection in files, metadata, artist info, etc. to ever get this completely right, and thus I feel that Roon should allow us to leverage our own file-based organizational efforts to a greater degree.

HOWEVER, I think if you take this stand as a matter of principle you will miss out. With Roon, I have discovered more new music in a year than I had in the previous decade. Well, new music to me. Even stuff in my own collection, but of course also stuff in Tidal. Roon is a music lover’s dream and that is why people are so entrenched in their opinions about it. She’s almost the perfect girlfriend if we could get her to put the cap back on the toothpaste.

Given how inexpensive storage is these days, and the possibility that there would be other utility in breaking apart your single FLAC files (like compatibility with other devices or software, just a guess here), I suggest you consider adding a hard drive and letting Foobar just batch convert your whole CUE-based collection. Save that collection, just build a separate one on another drive. It may take a weekend or even more, but it can be a background process and if your CUE based collection is well organized there should be little need for any manual intervention.

Even if the conversion is not perfect, you’ll soon realize that it was worth it to get a taste of what Roon can do. If you search my posts, you’ll see I push the Roon team plenty to make changes - I am not one of the “it’s already perfect don’t change anything” crowd. But man, Roon can do things you just haven’t experienced before. Eventually they’ll figure out how to put the cap on the toothpaste.

3 Likes