I was asked about the format of the CUE Sheets generated in EAC. I've never read any CUE Sheet specification in the web, it probably has zillions of web site dedicated to this. But all the knowledge I share here was gained creating the 4 different CUE sheets, opening them in Notepad and comparing them to the content showed in EAC's track window. Loading the CUEs into EAC's CD Layout Editor also helped a lot, by showing the CUE's content in a more friendly way.

"Current Gap Settings" is not really an option, but rather an alias for one of the other 4: the one thats currently seletected in the the gap settings. So, creating a CUE with this option will create a file identical to one of the other 4.

Most of us dont know, but the CUE Sheet is a simple ASCII file, in a format quite easy for us to read it and interpret it (and, then, if needed, edit it!

For the test, the awesome Rush album "Signals" was used. It was chosen because its has few tracks (8), simple format (7 aps, all nonzoero lenghts), no hidden tracks (no index 00 for the 1st track), standard 2s before the 1st track (not a gap, actually, but rather a Lead In time or something, according to Pio), and also because Rush rules!!! You guys should listen to this album!

CDDB/CD-Text info was used to generate the CUE Sheets (EAC -> EAC Options -> Tools -> Check 'Use CD-Text information in CUE sheet generation') because IMO I think its easier to read tracks by its name then by its number. It increases the size of the CUE sheet considerably, but its better this way. After a while you get really confused if all you see is "Track 05", "Track07.wav", and so on.

This said, the CUE Sheets are (not in the same order as in EAC's menu, but in increasing order of 'complexity'):

As we can see, this one is pretty straightforward. A single file, assumed by EAC to be Range.wav, is used in all tracks. Track 1 starts with index 1 (a track 1-index 0 would mean a hidden track), at the file's absolute position 00:00:00. All the times are the absolute position within the Range.wav file. Here the tracks (01 indices) and the gaps (00 indices) are so easy to see and figure out that I have nothing much to tell about this format, except that this simple format will help us to understant the basics, and will sure come in hand when things get dicy.Just a note for future reference: the gap lenght of a given track can be calculated by subtracting the INDEX 00 start position from its INDEX 01 start position. For example, track 3 gap starts at 10:22:12, and the actual track starts at 10:22:57. That leads us to a 57-12 = 00:00:45 gap.

Note that this CUE is very similar to the previous, the difference being multiple wavs are used. This CUE assumes you appended gaps in the begging of each track, and thats why, for example, Track 03-Index 00 starts at 00:00:00 of Chemistry.wav. The actual song (index 01) starts at 00:00:45 of that file. This way we can easily see that this pregap is 00:00:45 long.

NOTE: EAC displays times in the format 1:60:60.100 in the main window, meaning 1 second is divided in 100 "cents". *BUT* in CUE Sheets the format is 1:60:60:75. So, a gap displayed 00:00:50 in a CUE sheet does not mean a half second gap, but rather a 2/3 second gap (something like 0.66 or 0.67 in the usual notation. So the 00:00:45 gap would be displayed in EAC's main window as 0:00:00.60. A curious thing is that in EAC's CD Layout window the format used is the 0.75, not the "metric" one

This one also looks a lot like the previous. The difference is that now indices 01 start at the very beggining if the files (00:00:00). So, where are the gaps? They are artificially inserted with the "PREGAP" tag. PREGAP, as we can assume by reading this file and confirm its behaviour, tells the burner to create a 00 index of the specified lenght, filled with silence. Note that the INDEX 00 statement cant be used, because its time refers to the wav file, and in this case no gaps were appended anywere on the wavs. They were simply left out. PREGAP puts them back again. (you better pray for what was left out was only silence, because thats all you'll get when using PREGAP . Using EAC's CD Layout Editor clearly shows that the 00 indices were recreated, but not from any wav file. In this format is easy to see that the track 3 pregap that was removed when extracting the wavs was 00:00:45 long, because thats what whe PREGAP statement of track 3 tells us.

The most tricky, yet "right", CUE Format. The 1st file, Subdivisions.wav, is used in both Track1-Index1 and Tack2-Index0 (track 2 pregap). This gap starts at 05:33:45 of the file, and last until the end of it. Then, we see the marker of a new file, The Analog Kid.wav. TRack 02 Index 01 starts at the beggining of this file, and lasts until 04:47:18, where, while keep reading the same wav file, Index 00 of Track 03 starts to be recorded. This pattern keeps until the end of the album, and we can see that each wav file is used for a track (index 01) and then for a pregap (index 00 of the next track). Using CD Layout Editor makes this tricky "chaining" of tracks and files very easy to see. So this format assumes that the gaps were appended to the end of the previous track. Its not a surprise then that Countdown.wav is only used as Track 08 - Index 01. As there is no track 9 pregap, nothing was appended to it. Its own pregap was appended to the previous file, Losing It.wav.

Now lets try to find our now-famous 00:00:45 gap in this format. We already know that we are looking for Track 03 - Index 00. Looking at the CUE, we find that it is in The Analog Kid.wav file, starting from 04:47:32, and lasting until the end of this file. So we need to know, in a very accurate way, the length of this file. Nor Winamp not encSpot are, they only have second precision. But we can again use EAC's CD Layout to mannualy "Append files as New Tracks" and see the lenght. And it tells us that "The Analog Kid.wav" is 04:48.16 long. Subtracting the gap initial position from the file's lenght leads us to the actual gap lengh: 04:48:02 - 04:47:32 = 00:00:45 ! Bingo!

For this weird math, remember that CUE Sheets use the "75 notation", so from 04:47:32 to 04:48:00 there are 75-32=00:00:43. So we add +2 (from 04:48:00 to 04:48:02), leading us to our so-loved 00:00:45.

NOTE: I found a very, very weird thing while doing the tests: the lenght of the original .WAV and its compressed .MP3 are NOT the same! The wavs are shorter by 00:00:14 (about 0.19s in the usual "metric" notation). Is this a know issue? One of those things everyone but newbies like me are aware of? this 00:00:14 difference seems to be constant for all the songs, and for other albuns too. Is this constant for any wav/mp3, or this magical 14 is valid only for my CD Drive? Im really puzzled, if someone can help me in this issue, I would be glad!

Anyway: if you need to measure gaps this way, and only have the mp3's at hand (deleted the wavs), be sure to take "this" into account. For me, "this" means subtract 14 from the calculated gap lenght if the file used was the mp3 instead of the original wav. For you, I dunno. Maybe you must subreact 14 too. Maybe its another number. Just be aware that the mp3 can be a tiny little weennie bit longer then the wav.

By now, I think that this format, as all the other ones, are quite clear. With the info here, one now might be able to, given any CUE, calculate all gap lenghts and, if needed, edit the CUE to convert from one format to the other. Just in case you find out that in your mp3s the gaps were appended in the end of the tracks, as usual, but the CUE you have is the "corrected" one, where gaps are supposed to be at beggining. Now you can, with the mighty Notepad, Calculator, and a bit of Brains, (EAC's CD Layout Editor may be handy too), convert this cue to the format you want. (in this case, the "Noncompliant").

Good Luck!

FINAL NOTE: Why the hell the "Multiple Files With Gaps (Noncompliant)" format is not accepted/recognized/supported by burners like Nero or CDRWin? It has no special tags or statements. The *syntax* is pretty much identical to the "Multiple Files With Corrected Gaps", only the wavs are sliced in a different way. This should be no big deal for any decent burner. So how come this format being uncompliant in any way??? Misteries of life, at least for me...

Hmm, does this pregap (from 'Leave Out Gaps' cue) contain only silence, dropping any signal that might be presented inside gap?

QUOTE ([url=http://www.digital-inn.de/showthread.php?threadid=16964)

MestreLion[/url],Nov 22 2002 - 10:55 AM]"Multiple Files With Left Out Gaps" creates a CD Layout identical to the original, but, as whe source wavs presumably lack the gap content (hence the name), its data is entirely recorded in the 01 indexes, and the 00 indexes are filled with silence.

I know it should, but maybe anyone did some check by copying cd known to contain some signal within' gaps this way. Or it's not worth bothering?

On other hand you can always 'check gaps on silence' to be 100% safely sure, and switch to another method otherwise.

Not to offence anyone, but all the people insisting 'do it the way our super ripping guide tells you to do only' without giving any thecnical details are bit annoying for me. (I don't mean your tutorial, MestreLion. But personal researching is quite hardly can be found on others.)Hope that was politcorrect enough.

Hmm, does this pregap (from 'Leave Out Gaps' cue) contain only silence, dropping any signal that might be presented inside gap? I know it should, but maybe anyone did some check by copying cd known to contain some signal within' gaps this way. Or it's not worth bothering?

You're right: for the sake of scientific method, this should be tested, even if its completely obvious. And I never actually burn a CD this way to check out if the gaps were filled with silence. One thing is clear, though: It is not fiiled by any music contained in the wavs (loading the CUE in the CD Layout makes this clear), nor by the original gaps (because the original gaps were lost in the process. If they are not saved in the wavs, they are lost forever). Thats why I say that the pregaps are filled with silence without ever checking it: simply because it cant be filled by anything else!

QUOTE

On other hand you can always 'check gaps on silence' to be 100% safely sure, and switch to another method otherwise.

Sure. If if the gaps were indeed 100% pure silence, you can safely leave out gaps, and have a 100% perfect copy late. But I ask:what for? Why trimming the wavs? To save ~2s each track of HD space? It really makes no sense at all. Besides, trimmed wavs sound bad when played continuously. I miss the pauses between tracks. 'check gaps on silence' is a very slow process, and you actually get nothing by leaving out the gaps. This is just a personal opinion, but so far no one told me a benefit of leaving out gaps. Check out my 3rd post in this thread

QUOTE

Not to offence anyone, but all the people insisting 'do it the way our super ripping guide tells you to do only' without giving any thecnical details are bit annoying for me.

Yes, I know the feeling. Im a newbie, too, but I love reading and studying and researching, so I get angry when people say things that could easily be proven/supported by extra info, but they dont give any extra explanation. I hope Im not starting to act this way in my little tutorials. I always try to be as detailed as I can, always trying to support my suggestions with logical arguments. But, if for any reason, you feel that my tutorials have this "do as I say, dont ask why" mood, feel free to flame me! I will deserve it! Actually, I love when people comment my posts, even if saying bad things about it. At least I know that they were read

why are there pregaps in the leave out mode when the leave out mode should leave them out ?

i always delete the pregaps in the text file as I think its a bug.

I append the pregaps to the end of the previous files so everything i need is to have file after file without any gaps as the gaps are already <in> the (previous) files.

The gap setting "leave out gaps" leave gaps outs of the wavs. The CUE Sheet created with "Multiple Wavs with left out gaps" put silence gaps back, so your burned CD sound the same as the original CD. (of course, this holds true only if the original gaps were silence)

If there were no pregaps the CD copy would sound different from the original, with no pauses between the songs.

But, if instead of Leaving out gaps from the wavs, you append them to the end of the previous tracks, then why do you use the "Multiple Wavs with left out gaps" mode? The CUE that matches your wavs is the "Multiple Wavs with gaps (Noncompliant)". If you use the Leave out gaps mode, then yes, you need to delete the PREGAPs or else you'll get double lenght gaps (the one created with PREGAP statment and the one within the wav). Thats why such a CUE is meant only if you left out gaps when extracting the wavs, which was *not* your case!

Furthermore: why do you care about CUE sheets? If you dont care about 00 Indices (and, by the way you handle CUEs now, you dont), its much easier to forget about CUEs and simply add the wavs using the "Layout -> Append Files as New Tracks (Index 1)".

This way you'll get exactly what you have today, but in a much much easier and faster way!

And, if someday you want to preserve the 00 indices, just create the CUE using "Multiple Wavs with gaps (Noncompliant)", and no more "bugs" or need to edit any CUE. A plug-and-play CUE

when you listen to this to files in winamp or something you will have exactly the same timing as if u would listen to it from the original cd. and if you want to listen to track02 immediately it's the same also, because you didn't append the gap to beginning og track02 but the end of track01.

the only this what is different about it is that when you burn those two tracks to a cd your standalone cdplayer won't display a negative time anymore but where is the difference ?

if you would burn those two tracks with a the leave out gap setting without editing anything your cd would be like that:

TRACK01 => TRACK01.WAV which is 1:03 longTRACK02 => TRACK02.WAV which is 1:00 + a pregap of 3seconds which would be in the cuesheetthat makes a total time of 2:06 and the original cd was 2:03 long.

i care about the cue sheets because of the CD Text and the ISRC and the Catalog#.

Humm, and thats indeed a good reason for using CUE Sheets... sorry for being arrogant and not taking this into account.

As for your example, every word is 100% correct! Its a perfect and accurate example. Actually I used a very similar example in a little tutorial I wrote a few days ago.

Just a comment:

QUOTE

if you would burn those two tracks with a the leave out gap setting without editing anything your cd would be like that: (screwed up tracks). That makes a total time of 2:06 and the original cd was 2:03 long.

Thats again correct. Question is: Why would you use the "Left out gaps" Cue??? If you use the Noncompliant one, you'll get the same result without the hard effort of editing a Cuesheet! And, as a free bonus, you get the 00 indices!

Bottomline, IMO, is: - You do need CUE sheets, because you use CD-Text and ISRC/Catalog #- An edited "Left out" cue can do the job, I agree. And yes, such cue must be edited for the desirable results.- Why not using another Cue instead? One that matches your wavs, so you dont need to manually edit it? the "Multiple Wavs with Gaps" fit your needs, plus you dont have to waste precious time editing it, plus you retain the 00 indices markers.

MestreLion[/url],Nov 22 2002 - 10:55 AM]"Multiple Files With Left Out Gaps" creates a CD Layout identical to the original, but, as whe source wavs presumably lack the gap content (hence the name), its data is entirely recorded in the 01 indexes, and the 00 indexes are filled with silence.

I know it should, but maybe anyone did some check by copying cd known to contain some signal within' gaps this way. Or it's not worth bothering?

From CDRWin documentation:

QUOTE

All pregaps that are generated internally (MestreLion's note: by using the PREGAP statement) contain "digital silence" (all zeros).

Question is: Why would you use the "Left out gaps" Cue??? If you use the Noncompliant one, you'll get the same result without the hard effort of editing a Cuesheet! And, as a free bonus, you get the 00 indices!

hm well. when I first used EAC I simply didn't understand this mode.

let me explain: my aim was/is to make a compromise between perfect audio backup (wav+cuesheet) and perfect encoding in one step. so if i would rip with leftout gaps and bring the gaps later on by the cue sheet i would have had (sorry for my if-clauses) perfect audio backups but the encoded files would be not perfect because of the missing gaps which are not in the wav files.

so i decided to chose the setting i described above.

hm the noncompliant mode seems to be be everything: perfect audio backup including negative time display on burned cds and perfect encoding.

You're right: for the sake of scientific method, this should be tested, even if its completely obvious.

QUOTE

Why trimming the wavs? To save ~2s each track of HD space? It really makes no sense at all.

Yep, right, I 'forgot' that this method deals with multiple wavs, for some reason this thing has crosslinked inside my brain with creating image as single file. So 'leave out' wavs lengths are different from 'append' ones on size of gap? (Would be reasonable to add wav lenghts to appropriate cues as well (as the comments), I think.)

QUOTE

Besides, trimmed wavs sound bad when played continuously. I miss the pauses between tracks.

Not in case of say continuos DJ mix.DJ Krush's 'Code1049' could be such example. It has tracks from ~0:50 to 8:xx and no pauses between tracks (maybe not all the tracks but majority of them IIRC). So playback with included gaps sounds realy nasty.

QUOTE (MestreLion @ Nov 30 2002 - 03:43 PM)

I found a very, very weird thing while doing the tests: the lenght of the original .WAV and its compressed .MP3 are NOT the same! The wavs are shorter by 00:00:14 (about 0.19s in the usual "metric" notation). Is this a know issue?

I believe this one is adressed in 'offset correction' tab of compression dialog. But this seems only to work if both encoder and decoder are build inside one file (dll or exe).

QUOTE (MestreLion @ Nov 30 2002 - 10:51 PM)

From CDRWin documentation:

QUOTE

All pregaps that are generated internally (MestreLion's note: by using the PREGAP statement) contain "digital silence" (all zeros).

... and EAC acts exactly as CDRWin documentations says?..Well, knowing EAC's nature it's not that obvious, I guess. #edit: mostly knowing all the speculations about it...

After all I don't have any suitable CD ATM within reach to test these things, that's where all this non-conformism comes from

DJ Krush's 'Code1049' could be such example. It has tracks from ~0:50 to 8:xx and no pauses between tracks (maybe not all the tracks but majority of them IIRC). So playback with included gaps sounds realy nasty.

NOTE: EAC displays times in the format 1:60:60.100 in the main window, meaning 1 second is divided in 100 "cents". *BUT* in CUE Sheets the format is 1:60:60:75. So, a gap displayed 00:00:50 in a CUE sheet does not mean a half second gap, but rather a 2/3 second gap (something like 0.66 or 0.67 in the usual notation. So the 00:00:45 gap would be displayed in EAC's main window as 0:00:00.60. A curious thing is that in EAC's CD Layout window the format used is the 0.75, not the "metric" one

I think that the difference between EAC's 1/100th of a second and a CUE sheet's 1/75th of a second is the concept of "frames" and how data is stored on the cd. There is an option in EAC to display times in HH:MM:SS.FF rather than HH:MM:SS.ss

EAC | EAC Options | General | Display times using Frames

(The wiki article that is based on this thread was mentioned somewhere else today. Maybe someone more knowledgeable is willing to update the wiki article with some stuff about frames?)

How do you edit a CUE file, by substracting, for example, 6.526 secs. from it? Pretending that the big WAV file got cut this 6 secs from a point of it, you have to edit the CUE sheet, isn't it? Any opinions?

FINAL NOTE: Why the hell the "Multiple Files With Gaps (Noncompliant)" format is not accepted/recognized/supported by burners like Nero or CDRWin? It has no special tags or statements. The *syntax* is pretty much identical to the "Multiple Files With Corrected Gaps", only the wavs are sliced in a different way. This should be no big deal for any decent burner. So how come this format being uncompliant in any way??? Misteries of life, at least for me...

MestreLion, may I suggest you append a 5th CUE sheet to your explanation? It would be like this:

- Multiple Files With Gaps (compliant) - Corrected to work with Nero et.al.

This is the most basic type of CUE sheet, and therefore should work with all kinds of burners. It can be created by generating with EAC a "Multiple Files With Left Out Gaps" CUE sheet and editing it to eliminate all the "PREGAP" lines, or even be created by hand from scratch, given its simplicity:

MestreLion, may I suggest you append a 5th CUE sheet to your explanation? It would be like this:

- Multiple Files With Gaps (compliant) - Corrected to work with Nero et.al.

This is the most basic type of CUE sheet, and therefore should work with all kinds of burners. It can be created by generating with EAC a "Multiple Files With Left Out Gaps" CUE sheet and editing it to eliminate all the "PREGAP" lines, or even be created by hand from scratch, given its simplicity:

For this you dont even need a CUE Sheet... the idea of generating one is to preserve the original CD layout. Also, if you created the wavs without appending the gaps, removing the pregap statemet of the cuesheet will generate a cd with no pauses between tracks...

You're right, I don't need a CUE sheet to burn such a CD in Nero, but it makes things a lot easier, since I wouldn't have to edit the Nero compilation in order to eliminate the 2s gaps between tracks (I guess most people simply don't know how to do it...)

QUOTE (MestreLion @ Dec 26 2006, 00:26)

Also, if you created the wavs without appending the gaps, removing the pregap statemet of the cuesheet will generate a cd with no pauses between tracks...

I think you misundertood me here, the waves should have their trailing gaps appended, that's why I called them "Multiple Files With Gaps (compliant)". My suggestion was to use EAC to generate the "Multiple Files With Left Out Gaps" CUE sheet only after the waves had been extracted.