Cue sheet: Difference between revisions
(→Creating: note limitations of Wave Repair) |
Artoria2e5 (talk | contribs) (→Most often used: WAVE is a later extension. There is a strong consensus for FLAC to work, but Opus? Fb2k works, VLC doesn't.) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 23: | Line 23: | ||
--> | --> | ||
A '''cue sheet''' (or '''CUE file''', '''.cue''', '''CUE sheet''', etc.) is a formatted text file which provides index and other supplemental information for one or more audio files. A cue sheet is generally used in conjunction with either extracting from or burning to [[Compact Disc|CD]]. For example, when a CD's complete audio content has been ripped to a single file, a cue sheet contains information about the track boundaries, and CD-R burning software can use it to make a copy of the original CD with the same track layout as the original. Cue sheets can also be used when writing data CDs. | A '''cue sheet''' (or '''CUE file''', '''.cue''', '''CUE sheet''', etc.) is a formatted text file which provides index and other supplemental information for one or more audio files. A cue sheet is generally used in conjunction with either extracting from or burning to [[Compact Disc|CD]]. For example, when a CD's complete audio content has been ripped to a single file, a cue sheet contains information about the track boundaries, and CD-R burning software can use it to make a copy of the original CD with the same track layout as the original. Cue sheets can also be used when writing data CDs. | ||
Line 74: | Line 73: | ||
=== Most often used === | === Most often used === | ||
;FILE | ;FILE | ||
:The FILE command specifies the file that the cue sheet is currently referencing. Valid file types are WAVE, MP3, AIFF, BINARY and MOTOROLA. | :The FILE command specifies the file that the cue sheet is currently referencing. Valid file types are WAVE, MP3, AIFF, BINARY and MOTOROLA. | ||
:As a commonly-accepted extension, many lossless formats such as [[WavPack]] or [[FLAC]], can also be used under the WAVE file type. There is a chance for lossy formats like [[Opus]] to also work, but this is not as commonly agreed upon by CUE players. | |||
;INDEX | ;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 [[Compact Disc Digital Audio|Audio CD]] player count up from a negative value before beginning a new track - this is the period between INDEX 00 and INDEX 01. | :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 [[Compact Disc Digital Audio|Audio CD]] player count up from a negative value before beginning a new track - this is the period between INDEX 00 and INDEX 01. | ||
Line 84: | Line 84: | ||
: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. | :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. | ||
:The following REM comments can be written to a disc's CD-Text section and read by an application such as [[cdrdao]] or ImgBurn: | :The following REM comments can be written to a disc's CD-Text section and read by an application such as [[cdrdao]] or ImgBurn: | ||
: | :;REM UPC | ||
:: The "UPC" is not necessarily the same as "CATALOG". | ::The "UPC" is not necessarily the same as "CATALOG", and can be 12 or 13 digits in length. See [[Wikipedia:Universal Product Code]]. | ||
: | :;REM DISCID | ||
::Although programs such as [[Exact Audio Copy]] use this to store the disc's CDDB1 value, other programs can extract the disc's true Disc ID, which is usually the disc's label-specific catalog number (see the example TOC file on the [[cdrdao]] page and the "DISC_ID" field for an example). | |||
;TITLE | ;TITLE | ||
:At top-level this will specify the album name, while at track-level it specifies the track name. | :At top-level this will specify the album name, while at track-level it specifies the track name. | ||
;TRACK | ;TRACK | ||
:A number between 01 and 99, indicating the track number. | :A number between 01 and 99, indicating the track number. | ||
=== Quotation marks === | |||
The use of quotation marks around strings for PERFORMER, TITLE, etc., is standard practice, however, for programs such as ImgBurn, they are not mandatory.<ref>[https://forum.imgburn.com/index.php?/topic/23743-double-quoatation-marks-in-track-title/ double-quotation marks in track title]</ref> | |||
By omitting quotation marks, this allows the use of quotation marks within the string itself. For example: | |||
<pre> | |||
TRACK 01 AUDIO | |||
TITLE Theme Of "Rome" | |||
PERFORMER Danger Mouse & Daniele Luppi | |||
ISRC GBAYE1001378 | |||
INDEX 01 00:00:00 | |||
</pre> | |||
This does not, however, work for strings that need to display quotation marks at the beginning of the string, as ImgBurn only parses the text contained ''within'' the quotation marks. | |||
=== Whitespace === | === Whitespace === | ||
Line 308: | Line 324: | ||
* [[CueTools]]: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476 | * [[CueTools]]: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476 | ||
* [[foobar2000]]: http://www.foobar2000.org/ | * [[foobar2000]]: http://www.foobar2000.org/ | ||
* mp3DirectCut: https://mpesch3.de/ | |||
* mp3splt: https://github.com/mp3splt/mp3splt | |||
* pcutmp3: http://www.hydrogenaudio.org/forums/index.php?showtopic=35654 | * pcutmp3: http://www.hydrogenaudio.org/forums/index.php?showtopic=35654 | ||
* [[shntool]]: http://shnutils.freeshell.org/shntool/ | * [[shntool]]: http://shnutils.freeshell.org/shntool/ | ||
Line 320: | Line 338: | ||
=== Creating === | === Creating === | ||
* CD Wave: http://www.milosoftware.com/cdwave/ | * CD Wave: http://www.milosoftware.com/cdwave/ - only reads .wav, .flac, .ape, .w64 | ||
* CUEgenerator: http://cuegenerator.net/ (online web app) | |||
* CueMaster: http://cuemaster.org/ | * CueMaster: http://cuemaster.org/ | ||
* [[CueTools]]: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476 | * [[CueTools]]: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476 | ||
* [[foobar2000]]: http://www.foobar2000.org/ | * [[foobar2000]]: http://www.foobar2000.org/ | ||
* [[Goldwave]]: http://www.goldwave.com/ | * [[Goldwave]]: http://www.goldwave.com/ | ||
* imgburn: https://www.imgburn.com/ - (Tools menu -> Create CUE File) | |||
* [[shntool]]: http://shnutils.freeshell.org/shntool/ | * [[shntool]]: http://shnutils.freeshell.org/shntool/ | ||
* Wave Repair: https://www.delback.co.uk/wavrep/ - only reads in .WAV files | * Wave Repair: https://www.delback.co.uk/wavrep/ - only reads in .WAV files | ||
== References == | == References == |
Latest revision as of 09:03, 8 October 2024
A cue sheet (or CUE file, .cue, CUE sheet, etc.) is a formatted text file which provides index and other supplemental information for one or more audio files. A cue sheet is generally used in conjunction with either extracting from or burning to CD. For example, when a CD's complete audio content has been ripped to a single file, a cue sheet contains information about the track boundaries, and CD-R burning software can use it to make a copy of the original CD with the same track layout as the original. Cue sheets can also be used when writing data CDs.
Increasingly, cue sheets are being used as playlists: you load the cue sheet in a media player, and it can play an "image" (single-file) rip as if it were separate files, one for each track. Cue sheets can be used for file-per-track rips as well, but many such rips require that the cue sheet not adhere strictly to the original specification's rules.
Cue sheet contents
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:
- CD-Text metadata such as performer, title, songwriter for the disc and/or each 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.)
A cue sheet isn't necessary to make an exact copy of the audio portion of a CD; ripping & burning software will get you the audio wave data and can figure out where each track starts. However, 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. A cue sheet may be needed when silent frames have been omitted from the beginning or end of files to be burned; the cue sheet can be used to reconstruct the pauses by telling the burner or player where to insert silence. A cue sheet may also be needed when there is a mix of audio and data tracks to be burned (unless the burning software is told which tracks are which).
History
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 the audio player 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 (as defined in the SCSI-3 Multimedia Commands specification), used for sending a binary-format cue sheet describing the disc layout to the drive before writing starts in SAO (Session-At-Once) 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 transferred with the WRITE command.[1]
The DAO and CDRWIN software was developed for use on MS-DOS and early Windows systems, when it was common to refer to types of files by their file name extensions, in all-caps: TXT for text, DOC for Word document, and so on. Early references to cue sheets likewise referred to CUE files. This convention continues to the present day, but the cue in the term cue sheet is not an acronym and need not be capitalized.
Cue sheet commands
The following commands are detailed in the Appendix A of the CDRWIN User's Guide:
- CATALOG – A 13-digit UPC/EAN code, also referred to as the Media Catolog Number (MCN). 12-digit UPC codes should be prefixed with a "0".
- CDTEXTFILE – A path to a file containing CD-Text info.
- FILE – A path to a file containing audio data, and to which subsequent commands apply.
- FLAGS – Per-track subcode flag(s):
- DCP - Digital copy permitted.
- 4CH - Four channel audio.
- PRE - Pre-emphasis enabled (audio tracks only).
- SCMS - Serial Copy Management System (not supported by all recorders).
- INDEX – Per-track index(es).
- ISRC – Per-track ISRC(s).
- PERFORMER – Per-disc or per-track performer name for CD-Text data.
- POSTGAP – Amount of post-track silence to add.
- PREGAP – Amount of pre-track silence to add.
- REM – A remark/comment to be ignored.
- SONGWRITER – Per-disc or per-track songwriter name for CD-Text data.
- TITLE – Per-disc or per-track title for CD-Text data.
- TRACK – Type of track to create, and to which subsequent commands apply.
Most often used
- FILE
- The FILE command specifies the file that the cue sheet is currently referencing. Valid file types are WAVE, MP3, AIFF, BINARY and MOTOROLA.
- As a commonly-accepted extension, many lossless formats such as WavPack or FLAC, can also be used under the WAVE file type. There is a chance for lossy formats like Opus to also work, but this is not as commonly agreed upon by CUE players.
- 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. Although the SCSI specs reserve the term pre-gap for the pause before a data track, in a cue sheet the PREGAP command can be used to create a pause before any kind of track, data or audio.
- 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.
- The following REM comments can be written to a disc's CD-Text section and read by an application such as cdrdao or ImgBurn:
- REM UPC
- The "UPC" is not necessarily the same as "CATALOG", and can be 12 or 13 digits in length. See Wikipedia:Universal Product Code.
- REM DISCID
- Although programs such as Exact Audio Copy use this to store the disc's CDDB1 value, other programs can extract the disc's true Disc ID, which is usually the disc's label-specific catalog number (see the example TOC file on the cdrdao page and the "DISC_ID" field for an example).
- 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.
Quotation marks
The use of quotation marks around strings for PERFORMER, TITLE, etc., is standard practice, however, for programs such as ImgBurn, they are not mandatory.[2]
By omitting quotation marks, this allows the use of quotation marks within the string itself. For example:
TRACK 01 AUDIO TITLE Theme Of "Rome" PERFORMER Danger Mouse & Daniele Luppi ISRC GBAYE1001378 INDEX 01 00:00:00
This does not, however, work for strings that need to display quotation marks at the beginning of the string, as ImgBurn only parses the text contained within the quotation marks.
Whitespace
Line breaks must be used between commands. Spaces or tabs can be used to indent; they're ignored but can make the file easier to understand when viewing or manually editing. Customarily, for audio CDs, all the commands which apply to a particular file are indented under the FILE command, and those which apply to a specific track are further indented under the TRACK command.
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 multiple 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. This is a very uncommon way to rip CDs, even though it is more in line with the disc's actual track layout.
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 multiple 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 multiple-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; this type of rip, despite its popularity, was not supported by the original DAO and CDRWIN software for which cue sheets were designed. Applications that adhere to the cue sheet specification, like foobar2000, will not be able to read it. Of course, EAC will 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 is 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 (that domain appears to be lost, but https://github.com/rinrinne/cueproc-alternative looks like a derivative)
- CueTools: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476
- foobar2000: http://www.foobar2000.org/
- mp3DirectCut: https://mpesch3.de/
- mp3splt: https://github.com/mp3splt/mp3splt
- pcutmp3: http://www.hydrogenaudio.org/forums/index.php?showtopic=35654
- shntool: http://shnutils.freeshell.org/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://shnutils.freeshell.org/shntool/
- XRECODE: https://xrecode.com/
Creating
- CD Wave: http://www.milosoftware.com/cdwave/ - only reads .wav, .flac, .ape, .w64
- CUEgenerator: http://cuegenerator.net/ (online web app)
- CueMaster: http://cuemaster.org/
- CueTools: http://www.hydrogenaudio.org/forums/index.php?showtopic=41476
- foobar2000: http://www.foobar2000.org/
- Goldwave: http://www.goldwave.com/
- imgburn: https://www.imgburn.com/ - (Tools menu -> Create CUE File)
- shntool: http://shnutils.freeshell.org/shntool/
- Wave Repair: https://www.delback.co.uk/wavrep/ - only reads in .WAV files
References
- ↑ Text adapted from a post by Martin H.
- ↑ double-quotation marks in track title
See also
External links
- libodraw cue sheet documentation
- CDRWIN 3.8 Users Manual.book - cdrwin.pdf via archive.org - Cue sheet commands are listed under Appendix A.
- goldenhawk.com via archive.org
- Cue sheet (computing) on Wikipedia