Skip to main content

Ripping Pre-Gap Hidden Tracks (HTOA)

REDACTED.ch Wiki article imported on 15-02-2023

1. Introduction

"Hidden tracks" on CDs come in different shapes, and should perhaps be better called "hidden songs".

1. A track may contain an additional song, that is not listed in the tracklist. It is thus is "hidden" until you listen to the full track. When you rip a CD with such a "hidden song", you need to consider if you should edit the track title so that it shows both songs ("SongtitleOne and SongtitleTwo"), or if you should let the song remain "hidden".

2. A song (or other audio data) may be "hidden" in the gap between tracks. If you play through a CD with such "hidden" songs, you will of course hear them, but if you skip straight to a song you will not hear any song that is hidden in the gap preceding that song. If you rip a CD with such "hidden songs" the way recommended here, they will be placed at the end of the previous track, since gaps are appended to the previous tracks. If you burn an audio CD from the rip, using the cue sheet as detailed in EAC CD Burning Guide, it will behave just like the original CD: you will only hear the hidden songs if you let the CD play on after the previous track has finished.

3. One or more songs may be preceded by blank tracks, like the bonus songs on tracks 32-34 below. If you listen to such a CD on a stand-alone player, you will either patiently have to wait through all the blank tracks, or skip to tracks 32-34 in order to hear them. If you rip a CD with blank tracks like these, simply leave them in place. If you delete them, your copy will no longer be an exact copy of the CD. (There is a CRC mismatch for track 32, "Corona" here. No matter how many times I tried, I never could get it to rip properly.)

4. A song (or, indeed, more than one song) may be hidden in the pregap of the first track of the CD. You will never hear this kind of hidden song when playing the CD on a stand-alone player unless you start playing the first track and then rewind into the pregap. The red colour of the first track below indicates the presence of such a hidden song. This is the kind of "hidden track" that needs special treatment when you rip a CD. All the other varieties of "hidden songs" are automatically included in a normal rip. A song that is hidden in the first pregap will, however, not be ripped normally by EAC. The song listed for the first track will, despite its red colour, rip normally. The colour is just a "signal" that there is more to that track than EAC can handle doing "business as usual".

eac-hidden.png

2. Failed Ripping Attempt

Not all drives are capable of ripping songs that are hidden in the first pregap. I tried ripping the hidden song shown above with the drive shown in the EAC window above. It looked like EAC was ripping the song, but the error correction was constantly lighting up, and in the end there was a problem: the drive refused to rip into the last two seconds before the official first track, that would be the normal pregap according to the Redbook standard for CDs.

Ripping process:

extracting.png

Log extract:

Range status and errors

Selected range (Sectors 0-12005)

Filename C:\EACrips\Calexico - Feast Of Wire\Range.wav

Suspicious position 0:02:38

Peak level 72.0 %
Range quality 96.9 %
Copy CRC C2154821
Copy finished

There were errors

AccurateRip summary

No tracks could be verified as accurate

End of status report

Wave form:

This shows that the hidden song was not ripped at all (the file is only 146 kB). There is no audio data in the file, apart from the first second of the official first song that shows at the end of the rip. (The offical first song thus starts a bit abruptly on the CD, but not enough so that it would in itself make you suspect that there might be audio data in the pregap.)

waveform.png

So, if you are unlucky, your drive may simply not be capable of ripping this kind of hidden song. If you have more than one drive, try them all. The one that I use for the rest of this tutorial is an old pretty non-descript A-Open drive that quite surprisingly turned out to have this ripping capacity.

3. Ripping Hidden Songs: Two Different Methods

There are two different ways in which you can rip songs hidden in the first pregap: range-based and index-based ripping. This guide will only cover range-based ripping, which can be done with EAC 0.99 and up.

It is not possible to do a test-and-copy rip with any of the methods. There is, however, one important difference between the methods: EAC calculates a CRC value for range-based rips, but not for index-based rips. That difference makes range-based rips preferable to index-based rips.

Index-based ripping used to be the accepted way of extracting hidden tracks all the same, since it was difficult to establish which range you should rip with old EAC 0.95. Index-based ripping is not recommended anymore, but if you wish to learn more for historical purposes, you may read the section at http://xunside.info/eac/Rip/rip11-hidden.html.

4. Range-Based Ripping

Assuming that you use EAC 0.99: start by ripping the CD as usual. All the tracks that show in the EAC main window will be ripped as usual.

  • When the normal rip is done, open the log file and check the TOC (Table of Contents) that EAC 0.99 writes to the log file:

TOC of the extracted CD

Track | Start | Length | Start sector | End sector
---------------------------------------------------------
1 | 1:59.00 | 5:35.20 | 8925 | 34069
2 | 7:34.20 | 4:25.50 | 34070 | 53994
3 | 11:59.70 | 4:37.20 | 53995 | 74789
4 | 16:37.15 | 3:03.60 | 74790 | 88574
5 | 19:41.00 | 4:23.40 | 88575 | 108339
6 | 24:04.40 | 5:59.55 | 108340 | 135319
7 | 30:04.20 | 4:14.47 | 135320 | 154416
8 | 34:18.67 | 4:05.40 | 154417 | 172831
9 | 38:24.32 | 5:15.28 | 172832 | 196484
10 | 43:39.60 | 8:58.15 | 196485 | 236849 

The first track normally starts at sector 0. In this case, it starts at sector 8925. This tells you the range of the hidden song: it extends from sector 0 to sector 8924.

Choose "Copy Range ... Compressed" from the Action menu in EAC.

copy-range-select.png

Leave the start block (= sector) at 0, but change the end block to one less than the value listed as "start sector" for the official first song of the CD. In this case, the end block should thus be 8924:

copy-range.png

Click "OK", choose to save the track as (for example) "00 - Untitled Instrumental Track" (if that is what it is), and then watch EAC rip the selected range:

copy-range-extracting.png

When the track (range) has finished ripping, immediately rip it again, the same way as detailed above. You can choose the same file name as before, and let EAC overwrite the first version of the file.

EAC will append the information about this second rip to the log called "00 - Untitled Instrumental Track.log" that it just created. By ripping the track twice, you can thus "test-and-copy" the track, and have two CRC values to compare. If all went well, the values will match. Here's an extract from the log file for such successful rips:

Exact Audio Copy V0.99 prebeta 4 from 23. January 2008

EAC extraction logfile from 5. June 2008, 0:49

David Gray / White Ladder

(...)

Range status and errors

Selected range (Sectors 0-8924)

Filename E:\00 - Untitled Instrumental Track.wav

Peak level 93.2 %
Range quality 100.0 %
Copy CRC D1C38987
Copy OK

No errors occurred

AccurateRip summary

No tracks could be verified as accurate

End of status report

------------------------------------------------------------

Exact Audio Copy V0.99 prebeta 4 from 23. January 2008

EAC extraction logfile from 5. June 2008, 0:51

David Gray / White Ladder

(...)

Range status and errors

Selected range (Sectors 0-8924)

Filename E:\00 - Untitled Instrumental Track.wav

Peak level 93.2 %
Range quality 100.0 %
Copy CRC D1C38987
Copy OK

No errors occurred

AccurateRip summary

No tracks could be verified as accurate

End of status report

Remember to check the tags when you have all the files in the album folder, using (for example) Tag&Rename or mp3Tag (freeware, that will handle FLAC tags/Vorbis comments, too, in spite of its name).

5. Editing the Cue Sheet: Create an "Exact Copy" Cue Sheet and a "Bonus Track" Cue Sheet

Now you have collected all the songs from the CD, getting the hidden song ripped either by performing a range-based rip or by performing an index-based rip. But, there is some more work to be done. The hidden song was not included in the normal ripping process, and is therefore not contained in the cue sheet for the CD. If you were to use the cue sheet "as is" for burning a copy of the CD, the hidden song would not be included.

If you want to be able to create an exact copy of the original CD, you need to edit that hidden song back as index 00 for the first track. You may want to create an alternative cue sheet, too. You may want to treat the hidden song as a bonus song and place it as a new last track on the cue sheet. Just like there are many drives that are not capable of ripping hidden tracks, there are many drives that are not capable of burning hidden tracks, and an "exact copy" cue sheet is of no use with such drives. A "bonus track" cue sheet can be used with practically any drive.

There are instructions below for how to create both an "exact copy" cue sheet and a "bonus track" cue sheet. I would recommend creating and saving both versions for your album.

Here is the original cue sheet, with some colour markings and comments that show what will have to be changed in order to create cue sheets that contain the hidden song: 

cue.png

Exact Copy Cue Sheet

For the exact copy version of the cue sheet, you focus on track 1. You need to...

  • Copy the line "FILE "01 - [Whatever the name of the first official song].wav" WAVE". Just let it stay copied in memory while you perform the next step - you will paste it in place of the pregap shortly.
  • Edit the line "FILE "01 - [Whatever the name of the first official song].wav" WAVE" that you just copied, so that it says ""FILE "00 - [Whatever the name of the hidden song].wav" WAVE" instead. It is very important that the file name referenced in the cue sheet is exactly the same as the actual file name for the hidden track.

(That is true for all the file references, of course, but if you have made no changes to the file names, the rest of the files should automatically be correctly referenced.)

Replace the PREGAP line with a reference to file 01:

  • Remove "PREGAP [whatever length the pregap had]".
  • Paste "FILE "01 - [Whatever the name of the first official song].wav" WAVE" in the place where "PREGAP [whatever length the pregap had]" used to be.
  • Add "INDEX 00 00:00:00" above the line "FILE "01 - [Whatever the name of the first official song].wav" WAVE", that now is where the pregap used to be.
  • Save the edited cue sheet as "[Album name]_exact-copy.cue" or something similarly descriptive.

This is the final result:

REM GENRE Blues
REM DATE 1998
REM DISCID 810BDF0A
REM COMMENT "ExactAudioCopy v0.99pb4"
PERFORMER "David Gray"
TITLE "White Ladder"
FILE "00 - Untitled Instrumental Track.wav" WAVE
TRACK 01 AUDIO
TITLE "Please Forgive Me"
PERFORMER "David Gray"
INDEX 00 00:00:00
FILE "01 - Please Forgive Me.wav" WAVE
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "Babylon"
PERFORMER "David Gray"
INDEX 00 05:32:30
FILE "02 - Babylon.wav" WAVE
INDEX 01 00:00:00
TRACK 03 AUDIO
TITLE "My oh My"
PERFORMER "David Gray"
INDEX 00 04:24:55
FILE "03 - My oh My.wav" WAVE
INDEX 01 00:00:00
TRACK 04 AUDIO
TITLE "Were not right"
PERFORMER "David Gray"
INDEX 00 04:36:55
FILE "04 - Were not right.wav" WAVE
INDEX 01 00:00:00
TRACK 05 AUDIO
TITLE "Nightblindness"
PERFORMER "David Gray"
INDEX 00 03:01:60
FILE "05 - Nightblindness.wav" WAVE
INDEX 01 00:00:00
TRACK 06 AUDIO
TITLE "Silver Lining"
PERFORMER "David Gray"
INDEX 00 04:21:20
FILE "06 - Silver Lining.wav" WAVE
INDEX 01 00:00:00
FILE "07 - White Ladder.wav" WAVE
TRACK 07 AUDIO
TITLE "White Ladder"
PERFORMER "David Gray"
INDEX 01 00:00:00
TRACK 08 AUDIO
TITLE "This Years Love"
PERFORMER "David Gray"
INDEX 00 04:12:27
FILE "08 - This Years Love.wav" WAVE
INDEX 01 00:00:00
TRACK 09 AUDIO
TITLE "Sail Away"
PERFORMER "David Gray"
INDEX 00 04:04:50
FILE "09 - Sail Away.wav" WAVE
INDEX 01 00:00:00
TRACK 10 AUDIO
TITLE "Say Hello, Wave Goodbye"
PERFORMER "David Gray"
INDEX 00 05:12:55
FILE "10 - Say Hello, Wave Goodbye.wav" WAVE
INDEX 01 00:00:00
"Bonus Track" Cue Sheet

For the "bonus track" version of the cue sheet, you need to...

  • Remove the pregap ("PREGAP [length]") for track 01.

Add a last track (track 11 in this case) and make the hidden song file ("00 - Untitled Instrumental Track.wav" in this case) go there:

  • Copy the details for the last track of the original cue sheet (no. 10 in this case), paste it below so that you have two entries for the last track. (The details start with "TRACK [no.] AUDIO", so you copy from there to the end.)

Edit the pasted details:

  • Add +1 to "TRACK [no.] AUDIO". In this case, the result is "TRACK 11 AUDIO" since the last track was no. 10.
  • Replace the file reference with a reference to the hidden song file. It is very important that the file name referenced in the cue sheet is exactly the same as the actual file name for the hidden track.

(That is true for all the file references, of course, but if you have made no changes to the file names, the rest of the files should automatically be correctly referenced.)

  • If there is an "INDEX 00" for the track you copied, remove it from the details for this new last track.

Also, make sure that "INDEX 01" indeed says "INDEX 01 00:00:00" - it usually does.

  • Save the edited cue sheet as "[Album name]_'bonus-track'.cue" or something similarly descriptive.

This is the final result; again, note that this is not a cue sheet that will allow you to burn an exact copy of the original CD, but on the other hand it will be usable with practically all drives:

REM GENRE Blues
REM DATE 1998
REM DISCID 810BDF0A
REM COMMENT "ExactAudioCopy v0.99pb4"
PERFORMER "David Gray"
TITLE "White Ladder"
FILE "01 - Please Forgive Me.wav" WAVE
TRACK 01 AUDIO
TITLE "Please Forgive Me"
PERFORMER "David Gray"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "Babylon"
PERFORMER "David Gray"
INDEX 00 05:32:30
FILE "02 - Babylon.wav" WAVE
INDEX 01 00:00:00
TRACK 03 AUDIO
TITLE "My oh My"
PERFORMER "David Gray"
INDEX 00 04:24:55
FILE "03 - My oh My.wav" WAVE
INDEX 01 00:00:00
TRACK 04 AUDIO
TITLE "Were not right"
PERFORMER "David Gray"
INDEX 00 04:36:55
FILE "04 - Were not right.wav" WAVE
INDEX 01 00:00:00
TRACK 05 AUDIO
TITLE "Nightblindness"
PERFORMER "David Gray"
INDEX 00 03:01:60
FILE "05 - Nightblindness.wav" WAVE
INDEX 01 00:00:00
TRACK 06 AUDIO
TITLE "Silver Lining"
PERFORMER "David Gray"
INDEX 00 04:21:20
FILE "06 - Silver Lining.wav" WAVE
INDEX 01 00:00:00
FILE "07 - White Ladder.wav" WAVE
TRACK 07 AUDIO
TITLE "White Ladder"
PERFORMER "David Gray"
INDEX 01 00:00:00
TRACK 08 AUDIO
TITLE "This Years Love"
PERFORMER "David Gray"
INDEX 00 04:12:27
FILE "08 - This Years Love.wav" WAVE
INDEX 01 00:00:00
TRACK 09 AUDIO
TITLE "Sail Away"
PERFORMER "David Gray"
INDEX 00 04:04:50
FILE "09 - Sail Away.wav" WAVE
INDEX 01 00:00:00
TRACK 10 AUDIO
TITLE "Say Hello, Wave Goodbye"
PERFORMER "David Gray"
INDEX 00 05:12:55
FILE "10 - Say Hello, Wave Goodbye.wav" WAVE
INDEX 01 00:00:00
TRACK 11 AUDIO
TITLE "Untitled Instrumental Track"
PERFORMER "David Gray"
FILE "00 - Untitled Instrumental Track.wav" WAVE
INDEX 01 00:00:00