HydrogenAudio

CD-R and Audio Hardware => CD Hardware/Software => Topic started by: NightMM on 2016-07-23 07:32:01

Title: Splitting CUE
Post by: NightMM on 2016-07-23 07:32:01
Hey just registered so I'm hopping that everything is in place

I'm sorting my music, and i need to split my albums into separate tracks.
I've read a lot of wiki and forum posts and experimented with conversions/splitting and I've read that foobar2000 loses disc pre-gap information when converting an album image
(here https://hydrogenaud.io/index.php/topic,109527.msg901861.html#msg901861)
and read of software like cuetools, eac, etc...
what that I'm trying to understand is how would an album with disc pre-gap information would sound as oppose to one without disc pre-gap information as foobar2000 dose, to me from what I've read an album without disc pre-gap information should be more "seamless"/"connected" then an album with disc pre-gap information since most of the disc pre-gaps are just silence even tho I've read that disc pre-gap info has nothing to do with gapless playback (i may have mixed gapless playback with disc pre-gap information but i don't know) but that makes no sens...
here are links that I've read:
http://www.digital-inn.de/threads/gap-and-cue-sheet-101-a-simple-tutorial-for-dummies-like-me.16964/
https://hydrogenaud.io/index.php/topic,110362.0.html
http://wiki.hydrogenaud.io/index.php?title=EAC_Gap_Settings#Standard_handling_of_gaps

Thank you very much
Title: Re: Splitting CUE
Post by: Porcus on 2016-07-23 12:12:41
what that I'm trying to understand is how would an album with disc pre-gap information would sound as oppose to one without disc pre-gap information

[...]
(i may have mixed gapless playback with disc pre-gap information but i don't know)

Yes, I think you have. Or you may have mixed up Track 1 index 0 with other tracks' index 0.

Think the way a CD player would do: When told to start at or jump to track N, it starts at track N index 1. If on the other hand it just continues from track N-1, it does the last index of that track and then track N index 0.

Now, "continues from track N-1" assumes that N is at least 2, which is the reason why track 1 index 0 is something special. To get to it on an ordinary CD player, you will have to rewind track 1. Most often, it is only two seconds of silence.

The "hidden track one" bonus tracks are created when that index is long and filled with music. It is also possible to do that with other tracks, but then they will not be "hidden" when you play the CD - they will just be skipped if you jump to that track #N, or jump from the previous track #N-1 to somewhere else.

What fb2k does: if you start playing from the cuesheet, it starts as an ordinary CD player, at track 1 index 1. Without the cuesheet, it would not know tracks and indices, and would start from the first sample and play everything as one track.


If you use CUETools to split, you can get a separate track for track 1 index 0.
Title: Re: Splitting CUE
Post by: NightMM on 2016-07-23 17:41:38
So does foobar2000 ignores all the index 00
(Track1.wav : 1:00 (1st song)
Track2.wav : 2:00 (2nd song)
Track3.wav : 3:00 (3rd song)
Track4.wav : 4:00 (4th song))
or just Track 1 Index 00?
and if it ignores all the index 00 shouldn't that be more "streamlined"?
Title: Re: Splitting CUE
Post by: mjb2006 on 2016-07-23 19:53:14
Correct; foobar2000 only cares about the index 01 points, i.e. the normal track boundaries for seeking and ripping, and that's all it uses any indexes for. Track 01 index 00 (HTOA) will never play.

You can think of the indexes as subtracks, with index 01 being mandatory on every track. The cue sheet says how the audio is divided into tracks and subtracks. foobar2000 does not care if you have index 00 or indexes 02 through 99 ... it only cares about where index 01 begins for each track.

If foobar2000 had a fancier display, like a real CD player, it could tell you what index is currently playing; it could let you navigate among the indexes; and when playing index 00, the display would advance the track number and would show the time as a count-up from a negative number (like -0:03) to 0:00. Alas, no software player does that.
Title: Re: Splitting CUE
Post by: Rollin on 2016-07-23 20:19:23
Yes, foobar2000 ignores all indexes 00. But no audio data will be lost (except HTOA).
Title: Re: Splitting CUE
Post by: NightMM on 2016-07-23 21:03:44
So is that not better in most cases? Since there will be no gaps between tracks
Title: Re: Splitting CUE
Post by: mjb2006 on 2016-07-23 21:42:23
foobar2000 does not ignore index 00 portions of tracks when playing them, except for track 1. It is just ignoring the fact that a particular portion of the audio is designated index 00. For playing, seeking, and ripping, it doesn't need to know about anything but where each track's index 01 begins.

In other words, the "pregap" (index 00) portions of all the tracks after track 01 are still played. They come at the end of the prior track.

"Gapless playback" generally refers to removing extra silence added by lossy codecs, or by players when reading multiple files.
Title: Re: Splitting CUE
Post by: NightMM on 2016-07-23 22:06:07
Ok so if i got it right foobar2000 dose the following:
Ignore gap before Track 1
Track 1
Gap
Track 2
Gap
Track 3
Gap
Track 4 and so on...
Am I correct?
Title: Re: Splitting CUE
Post by: mjb2006 on 2016-07-24 07:31:33
Yes, although you are thinking of the gaps as being something "between" tracks, when really each is just the track portion designated as a pregap, a.k.a. gap or index 00. Typically these portions are silent, but in some cases they could be very quiet noise/tape hiss, applause, intros, or interludes. If you want to detect and skip playing these portions when they are silent or nearly silent, use the Skip Silence DSP which came with foobar2000 and should already be installed.
Title: Re: Splitting CUE
Post by: NightMM on 2016-07-25 05:31:42
foobar2000 does not ignore index 00 portions of tracks when playing them, except for track 1. It is just ignoring the fact that a particular portion of the audio is designated index 00. For playing, seeking, and ripping, it doesn't need to know about anything but where each track's index 01 begins.

In other words, the "pregap" (index 00) portions of all the tracks after track 01 are still played. They come at the end of the prior track.

"Gapless playback" generally refers to removing extra silence added by lossy codecs, or by players when reading multiple files.

Are you sure? because i created a cue with CUETools for tracks i separated with foobar2000 and it doesn't show Index 00 at all:
REM COMMENT "CUETools generated dummy CUE sheet"
PERFORMER "Wintersun"
REM DATE 2004
REM GENRE "Melodic Death Metal"
FILE "01. Beyond the Dark Sun.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Beyond the Dark Sun"
    INDEX 01 00:00:00
FILE "02. Winter Madness.wav" WAVE
  TRACK 02 AUDIO
    TITLE "Winter Madness"
    INDEX 01 00:00:00
FILE "03. Sleeping Stars.wav" WAVE
  TRACK 03 AUDIO
    TITLE "Sleeping Stars"
    INDEX 01 00:00:00
FILE "04. Battle Against Time.wav" WAVE
  TRACK 04 AUDIO
    TITLE "Battle Against Time"
    INDEX 01 00:00:00
FILE "05. Death and the Healing.wav" WAVE
  TRACK 05 AUDIO
    TITLE "Death and the Healing"
    INDEX 01 00:00:00
FILE "06. Starchild.wav" WAVE
  TRACK 06 AUDIO
    TITLE "Starchild"
    INDEX 01 00:00:00
FILE "07. Beautiful Death.wav" WAVE
  TRACK 07 AUDIO
    TITLE "Beautiful Death"
    INDEX 01 00:00:00
FILE "08. Sadness and Hate.wav" WAVE
  TRACK 08 AUDIO
    TITLE "Sadness and Hate"
    INDEX 01 00:00:00
FILE "09. Winter Madness [Demo Version].wav" WAVE
  TRACK 09 AUDIO
    TITLE "Winter Madness [Demo Version]"
    INDEX 01 00:00:00
FILE "10. Beyond the Dark Sun [Demo Version].wav" WAVE
  TRACK 10 AUDIO
    TITLE "Beyond the Dark Sun [Demo Version]"
    INDEX 01 00:00:00
FILE "11. Death and the Healing [Demo Version].wav" WAVE
  TRACK 11 AUDIO
    TITLE "Death and the Healing [Demo Version]"
    INDEX 01 00:00:00

This was the original cue:
REM GENRE Melodic Death Metal
REM DATE 2004
PERFORMER "Wintersun"
TITLE "Wintersun"
FILE "Wintersun (2004) Wintersun [Japanese Edition].wav" WAVE
  TRACK 01 AUDIO
    TITLE "Beyond the Dark Sun"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Winter Madness"
    INDEX 01 02:39:00
  TRACK 03 AUDIO
    TITLE "Sleeping Stars"
    INDEX 00 07:46:40
    INDEX 01 07:47:17
  TRACK 04 AUDIO
    TITLE "Battle Against Time"
    INDEX 01 13:28:62
  TRACK 05 AUDIO
    TITLE "Death and the Healing"
    INDEX 01 20:32:10
  TRACK 06 AUDIO
    TITLE "Starchild"
    INDEX 01 27:45:07
  TRACK 07 AUDIO
    TITLE "Beautiful Death"
    INDEX 01 35:39:60
  TRACK 08 AUDIO
    TITLE "Sadness and Hate"
    INDEX 01 43:56:12
  TRACK 09 AUDIO
    TITLE "Winter Madness [Demo Version]"
    INDEX 00 54:11:45
    INDEX 01 54:15:45
  TRACK 10 AUDIO
    TITLE "Beyond the Dark Sun [Demo Version]"
    INDEX 01 60:16:30
  TRACK 11 AUDIO
    TITLE "Death and the Healing [Demo Version]"
    INDEX 00 62:57:70
    INDEX 01 62:59:70
 
Title: Re: Splitting CUE
Post by: greynol on 2016-07-25 05:51:13
foobar2000 does not ignore index 00 portions of tracks when playing them, except for track 1. It is just ignoring the fact that a particular portion of the audio is designated index 00. For playing, seeking, and ripping, it doesn't need to know about anything but where each track's index 01 begins.
Are you sure?
Please re-read what I put in bold above.  mjb2006 is absolutely correct.

If you take a cue sheet and remove all the 00 indices between tracks and use it for playback in foobar2000 the result will be no different than if you had left them in.  Foobar doesn't make use of them.
Title: Re: Splitting CUE
Post by: mjb2006 on 2016-07-25 06:24:38
First of all, the index 00 points look bogus to me. One is only about a half-second long, and the other two have the exact same start point as index 01. So whatever drive was ripping this CD did not read the indexes correctly. Reading indexes requires the drive to read the disc's "subcode" (data streams on the disc aside from the audio) and some drives and rippers are better at it than others, and different drives and rippers can disagree on particular discs. Exact Audio Copy (EAC) has some vague settings you can adjust to try to get better results. It's also possible this CD doesn't have any index 00 portions at all.

Second, when you separated the tracks with foobar2000, it was using the index 01 start points as the track boundaries, i.e. file 02 got the audio from 02:39:00 (i.e., track 02 index 01) through 07:47:16 (the frame right before track 02 index 01). The end of this range, from 07:46:40 through 07:47:16, is that half-second designated as track 03 index 00, but this fact does not get saved in file 02, nor is there a way to do so; index info is only ever saved in a cue sheet.

If you used CUETools to do the splitting into separate files, instead of foobar2000, then CUETools would have generated a cue sheet which had index 00 points saved in it, at a cost of conformity with the cue sheet spec. Such a cue sheet would be useless in foobar2000, but you could use it in EAC to burn to CD-R with the correct indexes.

When you create a dummy cue sheet from audio files alone, the only indexes that can be included are the index 01 start points, which are just inferred from the duration of each file's audio. There's no actual index data in the files, so no way to get that info into the generated cue sheet, thus the entire length of each file is track whatever, index 01 every time. This is why it is called a dummy cue sheet; it is just inferring info from the ripped audio files, whereas a real cue sheet's index info would be based on reading the CD TOC and subcode.
Title: Re: Splitting CUE
Post by: mjb2006 on 2016-07-25 07:44:35
In the 2nd paragraph, I meant to say: ... file 02 got the audio from 02:39:00 (i.e., what the cue sheet says is the start of track 02 index 01) through 07:47:16 (the frame right before track 03 index 01)
Title: Re: Splitting CUE
Post by: NightMM on 2016-07-25 07:50:09
Ok few questions:
If i got it right, the only way to hear Indexes 00 is through a cue? correct me if i'm wrong
And if so dose that include Track 1 Index 00? or can it be saved to separate file? (wav, flac etc...)
If the only way to hear Indexes 00 is through a cue, Including Track 1 Index 00, (without a cue) what's the difference between splitting with CUETools or Fooobar2000? or any other software with the option of splitting albums?

Thank you very much for helping me i really do appreciate it ^^
Title: Re: Splitting CUE
Post by: Porcus on 2016-07-25 15:09:56
Ok few questions:
If i got it right, the only way to hear Indexes 00 is through a cue? correct me if i'm wrong

That is wrong. Except track 1, whatever is in index 00 will play at the end of the previous track.
Also, fb2k will not play track 1 index 0 if you use a one file + cuesheet per album - rather, it will behave like a CD player, in that it starts from track 1 index 01.
(If you load the audio file itself without any cuesheet, then players will start at the beginning and play until the end.)


And if so dose that include Track 1 Index 00? or can it be saved to separate file? (wav, flac etc...)
Quite a few applications will save track 1 index 0 to a separate file. It is not a bad idea.
(Note that only a very few CDs have actual audio there.)

As for your last question on software:
- CUETools is good,
- avoid Medieval Cue Splitter, it destroys things. Or at least it used to, but I do not volunteer to test if it is fixed by now.
Title: Re: Splitting CUE
Post by: mjb2006 on 2016-07-25 20:26:39
Maybe a diagram will help clarify things a little better for you and anyone else stumbling across this thread. You may need to widen your screen or reduce your font size for the text to line up properly without wrapping.

The audio on the CD is one uninterrupted stream, the very beginning and end of which is not playable:
|---lead-in---|----------------------------program area (playable portion with all the songs and silent passages)-------------------------|---lead-out---|

Timecode in the disc's subcode (alongside the audio) designates which portions of the program area belong to which tracks and indexes (subtracks):
|---lead-in---|---01.00---|----------01.01 (song 1)----------|---02.00---|----------02.01 (song 2)----------|-------03.01 (song 3)--------|---lead-out---|


The lead-in has a TOC which defines basic track boundaries based on the index 01 start points:
|---lead-in---|---01.00---|----------01.01 (song 1)----------|---02.00---|----------02.01 (song 2)----------|-------03.01 (song 3)--------|---lead-out---|
                          A                                              B                                  C                            D


What you get when you do an "image" rip of the whole disc:
|---lead-in---|---01.00---|----------01.01 (song 1)----------|---02.00---|----------02.01 (song 2)----------|-------03.01 (song 3)--------|---lead-out---|
              |---------------------------------one file with all this audio in it--------------------------------------------------------|

What you get when you rip tracks to separate files, normally:
|---lead-in---|---01.00---|----------01.01 (song 1)----------|---02.00---|----------02.01 (song 2)----------|-------03.01 (song 3)--------|---lead-out---|
                          |------------------file 01---------------------|-------------file 02--------------|----------file 03------------|

A real cue sheet for an image rip says how the file is divided into tracks and indexes:
              |----------------------------------the file with all the audio in it--------------------------------------------------------|
              |---01.00---|----------01.01 (song 1)----------|---02.00---|----------02.01 (song 2)----------|-------03.01 (song 3)--------|

A dummy cue sheet for an image rip only divides the file into index 01 portions, but spans the gaps (except HTOA):
              |----------------------------------the file with all the audio in it--------------------------------------------------------|
                          |----------------01.01 (song 1)----------------|----------02.01 (song 2)----------|-------03.01 (song 3)--------|


And now for the fire hose of asides: