Cue sheet
A cue sheet (or CUE sheet) is a formatted plain text file which is used to provide index information for a large audio file. A cue sheet is generally used in conjunction with either extracting from, or burning to, CD. For example, a cue sheet can tell a media player to treat an audio CD ripped to a single file as if it were separate files, one for each track. Or it can be used to tell software extra details about the layout of a CD to burn. Cue sheets can be used when writing data CDs, but this document focuses solely on the audio-related commands.
Cue Sheet Contents
Although a cue sheet isn't necessary to make an exact copy of the audio portion of a CD (i.e., ripping & burning software will get you the audio wave data and can figure out where each track starts), a cue sheet can be used to specify the location of the first track (if it deviates from the standard), as well as certain subcode information, such as non-01 index points, CD-TEXT (which may not exist on the original CD), UPC/ISRC data, and pre-emphasis information.
A cue sheet is required to burn "hidden track one audio" (HTOA), which is audio that can only be played after scanning backwards from the beginning of track 1. Another situation where a cue sheet is required is when gaps have been omitted from the files to be burned; a cue sheet can be used to reconstruct the gaps by telling the burner or player where to insert silence.
All cue sheets contain the following info:
- The name & type of at least one file being indexed (an audio file, normally);
- A numbered list of tracks each file corresponds to or contains;
- The start point (index 01) for each track, time-wise (MM:SS:FF format).
Cue sheets may contain the following additional info:
- Metadata such as performer, title, songwriter for the file and/or the track;
- ISRCs (sound recording IDs to burn)
- Special flags for CD burning (e.g. for pre-emphasis)
- Gap info (how much silence to insert before or after each track)
- Comments (which are used by some programs to store nonstandard metadata like genre, freeDB disc ID, etc.)
The Background
The cue sheet format was invented by Jeff Arnold of GoldenHawk Technology for use with his DAO (Disc At Once) and CDRWIN applications. The format has since been adopted as the de facto standard, and is used by various other applications, including foobar2000. The official cue sheet specification is widely accepted to be Appendix A of the CDRWIN User's Guide.
The name is taken from the SEND CUE SHEET command, when a cue sheet describing the disc layout must be sent to the drive before writing starts in SAO write mode. The drive writes to the disc, using the cue sheet information to generate the P and Q subchannel data, and to retrieve the format and block size of the data transfered with the WRITE command.
Text adapted from a post by Martin H.
Cue Sheet Commands
The following commands are detailed in the Appendix A of the CDRWIN User's Guide:
- CATALOG
- CDTEXTFILE
- FILE
- FLAGS
- INDEX
- ISRC
- PERFORMER
- POSTGAP
- PREGAP
- REM
- SONGWRITER
- TITLE
- TRACK
Most Often Used
- FILE
- The FILE command specifies the file that the cue sheet is currently referencing. Valid file types are WAVE, MP3 and AIFF, although other formats, e.g.: lossless formats like WavPack and FLAC, can also be used under the WAVE file type.
- INDEX
- A number between 00 and 99. Index points are specified in MM:SS:FF format, and are relative to the start of the file currently referenced. MM is the number of minutes, SS the number of seconds, and FF the number of frames (there are seventy five frames to one second). INDEX 01 commands specify the beginning of a new track. INDEX 00 commands specify the pre-gap of a track; you may notice your Audio CD player count up from a negative value before beginning a new track - this is the period between INDEX 00 and INDEX 01.
- PERFORMER
- At top-level this will specify the CD artist, while at track-level it specifies the track artist.
- PREGAP
- Used to specify the length of a track pre-gap, in MM:SS:FF format.
- REM
- Used to record comments in a cue sheet. This command is often used to store additional meta data to TITLE and PERFORMER, e.g.: the date or genre of the disc.
- TITLE
- At top-level this will specify the album name, while at track-level it specifies the track name.
- TRACK
- A number between 01 and 99, indicating the track number.
A Few Examples
A standard single file cue sheet
REM GENRE Alternative REM DATE 1991 REM DISCID 860B640B REM COMMENT "ExactAudioCopy v0.95b4" PERFORMER "My Bloody Valentine" TITLE "Loveless" FILE "My Bloody Valentine - Loveless.wav" WAVE TRACK 01 AUDIO TITLE "Only Shallow" PERFORMER "My Bloody Valentine" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Loomer" PERFORMER "My Bloody Valentine" INDEX 01 04:17:52
The cue sheet above, created by EAC, shows the first two tracks of a standard single file cue sheet. Note the use of REM commands to record additional metadata, in the format REM <TAG> "<value>". The PERFORMER and TITLE commands at the top of the cue sheet detail the CD artist and album name respectively. The PERFORMER and TITLE commands at track-level specify the track artist and title.
TRACK 02's INDEX 01 entry does not state that the track is 4m 17.693s long, but that the beginning of the track is 4m 17.693s into the file (so TRACK 01 was in fact 4m 17.693s long). If TRACK 02 was 3m long exactly, TRACK 03's INDEX 01 value would be 07:17:52.
Also note the file reference specifying a relative path to the file (references can also be absolute) and the file type: WAVE.
PERFORMER "Bloc Party" TITLE "Silent Alarm" FILE "Bloc Party - Silent Alarm.flac" WAVE TRACK 01 AUDIO TITLE "Like Eating Glass" PERFORMER "Bloc Party" INDEX 00 00:00:00 INDEX 01 03:22:70 TRACK 02 AUDIO TITLE "Helicopter" PERFORMER "Bloc Party" INDEX 00 07:42:69 INDEX 01 07:44:69
The cue sheet above shows the first two tracks of a single file cue sheet for a disc with a hidden track at the start. Note that TRACK 01 INDEX 01 starts at 03:22:70 (3m 22.933s) instead of 00:00:00 as in the first example, and most cue sheets. The INDEX 00 index on TRACK 02 displays the more usual behaviour, being two seconds before INDEX 01.
As the INDEX 00 is on TRACK 01 you will not normally see the usual countdown from a negative value that you might see from an INDEX 00 command on a subsequent track. To listen to this track on a Audio CD player you will need to start the disc playing and press rewind, to rewind, essentially, from 3m 22s into the disc back to the true beginning.
Also note that the file referenced is FLAC, but the WAVE files type is used. For MP3 files the file type "MP3" should be used, for AIFF you should use "AIFF", but for all other types "WAVE" is used.
Multiple files with corrected gaps
FILE "The Specials - Singles - 01 - Gangsters.wav" WAVE TRACK 01 AUDIO TITLE "Gangsters" PERFORMER "The Specials" INDEX 01 00:00:00 FILE "The Specials - Singles - 02 - Rudi, A Message To You.wav" WAVE TRACK 02 AUDIO TITLE "Rudi, A Message To You" PERFORMER "The Specials" INDEX 00 00:00:00 INDEX 01 00:00:28
This mutiple file cue sheet, created by EAC, has gaps prepended to the next track. This method allows users to retain gaps, but by prepending the gap to the next track each track may begin with silence, which makes playback less satisfactory.
Multiple files with gaps left out
FILE "The Specials - Singles - 01 - Gangsters.wav" WAVE TRACK 01 AUDIO TITLE "Gangsters" PERFORMER "The Specials" INDEX 01 00:00:00 FILE "The Specials - Singles - 02 - Rudi, A Message To You.wav" WAVE TRACK 02 AUDIO TITLE "Rudi, A Message To You" PERFORMER "The Specials" PREGAP 00:00:28 INDEX 01 00:00:00
This mutiple file cue sheet, created by EAC, has removed the gaps, but artificially recreates silence between tracks using the PREGAP command. This is fine if the gap was silence, but unsatisfactory if it contained audio.
Multiple files with gaps (Noncompliant)
FILE "The Specials - Singles - 01 - Gangsters.wav" WAVE TRACK 01 AUDIO TITLE "Gangsters" PERFORMER "The Specials" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Rudi, A Message To You" PERFORMER "The Specials" INDEX 00 02:47:74 FILE "The Specials - Singles - 02 - Rudi, A Message To You.wav" WAVE INDEX 01 00:00:00
This mutiple file cue sheet, created by EAC, has gaps appended to the previous track, and is a favourite among users who rip to track files but wish to retain gap information. This format allows the user to retain gaps, but in a position in the track file that does not hinder playback. Unfortunately, this format is non-compliant, so applications that adhere to the specification, like foobar2000, will not be able to read it. EAC will obviously read these cue sheets, as will the CD burning application Burrrn.
Note that INDEX 00 of TRACK 02 is set while still referencing the first FILE.
Single file version of the cue sheet used above
FILE "The Specials - Singles.wav" WAVE TRACK 01 AUDIO TITLE "Gangsters" PERFORMER "The Specials" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Rudi, A Message To You" PERFORMER "The Specials" INDEX 00 02:47:74 INDEX 01 02:48:27
For reference, the cue sheet used in the examples above in single file format.
Example Cue Sheet
REM GENRE Ska REM DATE 1991 REM DISCID D00DA810 REM COMMENT "ExactAudioCopy v0.95b4" PERFORMER "The Specials" TITLE "Singles" FILE "The Specials - Singles.wav" WAVE TRACK 01 AUDIO TITLE "Gangsters" PERFORMER "The Specials" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Rudi, A Message To You" PERFORMER "The Specials" INDEX 00 02:47:74 INDEX 01 02:48:27 TRACK 03 AUDIO TITLE "Nite Klub" PERFORMER "The Specials" INDEX 00 05:41:50 INDEX 01 05:42:27 TRACK 04 AUDIO TITLE "Too Much Too Young" PERFORMER "The Specials" INDEX 00 08:53:47 INDEX 01 08:54:37 TRACK 05 AUDIO TITLE "Guns Of Navarone" PERFORMER "The Specials" INDEX 00 10:59:20 INDEX 01 11:00:17 TRACK 06 AUDIO TITLE "Rat Race" PERFORMER "The Specials" INDEX 00 13:20:55 INDEX 01 13:20:67 TRACK 07 AUDIO TITLE "Stereotype" PERFORMER "The Specials" INDEX 00 16:29:67 INDEX 01 16:30:30 TRACK 08 AUDIO TITLE "International Jet Set" PERFORMER "The Specials" INDEX 00 20:19:27 INDEX 01 20:20:20 TRACK 09 AUDIO TITLE "Do Nothing" PERFORMER "The Specials" INDEX 00 24:30:70 INDEX 01 24:32:27 TRACK 10 AUDIO TITLE "Ghost Town" PERFORMER "The Specials" INDEX 00 28:23:30 INDEX 01 28:23:42 TRACK 11 AUDIO TITLE "Why?" PERFORMER "The Specials" INDEX 00 34:21:37 INDEX 01 34:21:47 TRACK 12 AUDIO TITLE "Friday Night, Saturday Morning" PERFORMER "The Specials" INDEX 00 38:16:50 INDEX 01 38:16:55 TRACK 13 AUDIO TITLE "War Crimes" PERFORMER "The Specials" INDEX 00 41:50:07 INDEX 01 41:51:00 TRACK 14 AUDIO TITLE "Racist Friend" PERFORMER "The Specials" INDEX 00 45:50:55 INDEX 01 45:51:72 TRACK 15 AUDIO TITLE "Nelson Mandela" PERFORMER "The Specials" INDEX 00 49:35:55 INDEX 01 49:38:22 TRACK 16 AUDIO TITLE "(What I Like Most About You Is Your) Girlfriend" PERFORMER "The Specials" INDEX 00 54:11:00 INDEX 01 54:12:40
Useful Applications
Playing
Splitting
- ACDIR: http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_2.html
- CUE Splitter: http://www.enfis.it/downloads.php?cat_id=1
- CueProc: http://nyaochi.sakura.ne.jp/xoops/modules/mysoftwares/tc_6.html
- CueTools: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476
- foobar2000: http://www.foobar2000.org/
- pcutmp3: http://www.hydrogenaudio.org/forums/index.php?showtopic=35654
- shntool: http://www.etree.org/shnutils/shntool/
- WavSplit: http://tangerine.uw.hu/prog/
Joining
- CueMake: http://www.synthetic-soul.co.uk/files/cuemake/
- CueTools: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476
- foobar2000: http://www.foobar2000.org/
- shntool: http://www.etree.org/shnutils/shntool/
Creating
- CD Wave: http://www.milosoftware.com/cdwave/
- CueMaster: http://cuemaster.org/
- CueTools: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476
- foobar2000: http://www.foobar2000.org/
- Goldwave: http://www.goldwave.com/
- shntool: http://www.etree.org/shnutils/shntool/
- Wave Repair: http://www.waverepair.com/
Other
- TBD
See Also
External Links
- Wikipedia article: [1]
- The Goldenhawk website: goldenhawk.com