image loading...

CD image downloaded from FreeFoto.com

The EAC guides are written by xuncat, all screenshots by xuncat (February 2008 - September 2009).

Valid XHTML 1.0 Transitional

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License

EAC Guides Home

11. Appendix A: Hidden Tracks


11a. 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".

image loading...

11b. 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:

image loading...

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.)

image loading...

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.

11c. 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. Both methods will be described below.

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. Therefore, I have included a section on index-based ripping for informational purposes, but I recommend that you use range-based ripping with EAC 0.99, as detailed in "11 d. Range-Based Ripping" below.

11d. 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.

image loading...

  • 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:

image loading...

  • 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:

image loading...

  • 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).

11e. Index-Based Ripping


Users of old EAC 0.95 did not have access to the detailed TOC. In order to have the exact extent of the hidden song ripped, they had to use index-based copying instead. As mentioned before, EAC will not report any CRC value for this kind of rip.

This is how it was done:

  • Select the first track in the EAC main window, then choose "Copy Selected Tracks Index-Based ... Compressed" in the Action menu.

image loading...

EAC will proceed to copy the track, but unlike the way it normally rips the first track shown in the EAC main window, it will start by copying the part of the track that is indexed as no. 0:

image loading...

This actually illustrates the technique for hiding songs in the first pregap: the pregap, indexed as no. 0, is normally 2 seconds long, with no content, and an ordinary CD player defaults to skipping past it when it starts playing a CD. This is why you have to rewind if you want to listen to such a hidden song using a stand-alone CD player. EAC performs the same automatic skip when it doesn't list the hidden song in the main window, though it does helpfully display that red colour in order to alert you to the presence of a hidden song.

EAC will also rip the part of the first track that is indexed as no. 1. This is the official first song on the CD, so you can discard this file when the rip is done. (In this case it is just as well, since it did not get completely ripped by EAC; track "01.01 - Please Forgive Me.flac" is 1 kB smaller than the normally ripped first song "01 - Please Forgive Me.flac".) It is the file "01.00 [Song title for track one]" you want to keep. That is the hidden song.

Extract from the log for the index-based rip (note that I used EAC 0.99 with AccurateRip for this index-based rip, hence the AccurateRip information):

Track  1, Index  0

     Peak level 93.2 %
     Track quality 100.0 %
     Copy OK

Track  1, Index  1

     Peak level 93.4 %
     Track quality 99.9 %
     Copy OK

AccurateRip summary

Track  1  not ripped completely

No tracks could be verified as accurate

No errors occurred

End of status report
			
  • Rename the file "01.00 - [Name of official first song].flac" (in this case "01.00 - Please Forgive Me.flac") to "00 - [Whatever the name of the hidden song].flac". In this case that would be "00 - Untitled Instrumental Track.flac".

11f. 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:

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
this ^ will be replaced with the hidden song for the exact copy cue sheet
(but will stay in place for the "bonus track" cue sheet)
  TRACK 01 AUDIO
    TITLE "Please Forgive Me"
    PERFORMER "David Gray"
    INDEX 00 00:00:00
    this ^ will be added for the exact copy cue sheet
    PREGAP 01:59:00
    this ^ will be removed for both exact copy and "bonus track" cue sheets
    - for the exact copy cue sheet, FILE "01 - Please Forgive Me.wav" WAVE will be pasted here instead
    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
all this ^ will be added here for the "bonus track" cue sheet
			


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