Справочник. Синтаксис CUE sheet (индексной карты, cuesheet, cue-файлов)

Автор Сообщение
Михаил Сергеевич ®

Стаж: 16 лет
Сообщений: 80
Откуда: Russia

Создавать темы Михаил Сергеевич ® написал(а)
26-Сен-2009 19:59
I. Что такое cue-файл
Cue-файлы используются для того, чтобы обеспечить информацию о больших аудио-файлах.
Обычно они используются либо при извлечении информации, либо при записи на CD. Это -- простые текстовые файлы, имеющие расширение cue.
Cue-файл может содержать мета-данные (например, TITLE и PERFORMER) и должен содержать информацию о файле (файлах), на которые ссылается (команда FILE), а также номера треков (TRACK) и индексные точки (INDEX). INDEX задается в формате MM:SS:FF, где MM -- количество минут, SS -- количество секунд, FF -- количество фреймов (в одной секунде 75 фреймов).
Cue-файлы стали популярными благодаря пользователям ЕАСа, которые делают рипы аудио CD в один файл-образ, сопровождаемый cue-файлом. ЕАС может создать четыре разных типа индексных карт в cue-файле, три для потрековых рипов (когда cue-файл может ссылаться на несколько файлов) и один для образа.
Cue-файлы могут использоваться при записи данных на диски и на аудио CD. Здесь мы фокусируемся исключительно на аудио-командах.
II. История
Формат cue-файла был изобретен Jeff Arnold'ом из GoldenHawk Technology для использования с приложениями DAO (Disc At Once) и CDRWIN. С тех пор этот формат был де-факто принят как стандарт и использовался разными другими приложениями, включая foobar2000. Общепринято считать официальной спецификацией cue-файлов Appendix A в CDRWIN User's Guide.
Название происходит от команды SEND CUE SHEET, когда cue-файл, описывающий индексную карту диска, должен посылаться на драйв до того, как начнется запись в SAO записывающей моде. Драйв пишет на диск, используя информацию из cue-файла, чтобы генерировать данные P и Q суб-каналов и чтобы найти формат и размер блока данных, передаваемых с командой WRITE.
III. Команды в cue-файле
Следующие команды детально описаны в Приложении A пользовательского описания CDRWIN:
* CATALOG
* CDTEXTFILE
* FILE
* FLAGS
* INDEX
* ISRC
* PERFORMER
* POSTGAP
* PREGAP
* REM
* SONGWRITER
* TITLE
* TRACK

Чаще всего используются:
FILE
Команда FILE специфицирует файл, на которые cue-файл в данный момент ссылается. Подходящие типы файлов -- WAVE, MP3 и AIFF, хотя другие форматы, например, лосслесс-форматы подобные WavPack и FLAC, также могут быть использованы с типом файла WAVE.
INDEX
Число между 00 и 99. Индексные точки задаются в формате MM:SS:FF относительно начала файла, на который в данный момент идет ссылка. команда INDEX 01 определяет начало нового трека. Команда INDEX 00 задает прегэп для трека; вы можете заметить, что аудиоплейер начинает считать время при исполнении данного трека с некоторого отрицательного значения -- это как раз период между INDEX 00 и INDEX 01.
PERFORMER
На уровне диска задает исполнителя для всего CD, на уровне трека -- исполнителя данного трека.
PREGAP
Используется для задания прегэпа трека в формате MM:SS:FF.
REM
Используется для комментариев в cue-файле. Эта команда часто используется для того, чтобы сохранить мета-данные к TITLE и PERFORMER, например, дату или жанр диска.
TITLE
На уровне всего диска задает название альбома, на уровне трека -- название трека.
TRACK
Число между 01 и 99, указывающее номер трека.
IV. Примеры
1. Стандартный cue-файл для одного файла (рип образом):
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
Этот cue-файл, созданные ЕАСом, демонстрирует первые два трека стандартного cue-файла для одного файла, полученного при рипом образом. Заметим использование команды REM, чтобы записать добавочные мета-данные в формате REM <TAG> "<value>". Команды PERFORMER и TITLE в начале cue-файла задают исполнителя для всего диска и название альбома. INDEX 01 для TRACK 02 говорит не то, что длина трека 4 мин 17.693 с, а то, что начало трека лежит на расстоянии 4 мин 17.693 с от начала файла (так что, на самом деле, 4 мин 17.693 -- это длина TRACK 01). Если бы TRACK 02 был длиной ровно 3 мин, INDEX 01 для TRACK 03 был бы 07:17:52.
Обратите также внимание на ссылку, задающую путь к файлу (она может также быть абсолютной, т.е. указывать полный путь) и тип файла -- WAVE.
2. Стандартный cue-файл для одного файла с TRACK 01 INDEX 00 для скрытого трека
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
Этот cue-файл демонстрирует первые два трека стандартного cue-файла для одного файла, полученного при рипе образом со скрытым треком в начале. Заметьте, что INDEX 01 для TRACK 01 указывает 03:22:70 (3 мин 22.933 с) вместо 00:00:00, как в первом примере и в большинстве cue-файлов. INDEX 00 для TRACK 02 более стандартный -- 2 секунды до INDEX 01.
С таким INDEX 00 как для TRACK 01 вы не сможете обычно видеть нормальный отсчет с отрицательного значения, которое вы можете видеть от команды INDEX 00 для следующего трека. Чтобы слушать этот трек на аудио-CD-плейере, вам понадобится запустить диск проигрываться и включить перемотку, чтобы перемотать назад, по сути с точки 3 мин 22 с, к настоящему началу диска.
Заметьте также, что ссылка на файл -- FLAC, но используется тип файла WAVE. Для mp3-файлов тип файла был бы MP3, для AIFF -- AIFF, но для всех остальных случаев используется тип файла WAVE.
3. Потрековый рип с откорректированными зазорами
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
Этот cue-файл, созданный ЕАСом при потрековом рипе, -- для случая зазоров, присоединенных к началу следующего трека. Этот метод позволяет сохранить зазоры, но при добавлении зазора к следующему треку, он может начинаться с тишины, что делает воспроизведение менее удовлетворительным.
4. Потрековый рип с удаленными зазорами
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
Этот cue-файл, созданный ЕАСом при потрековом рипе, убирает зазоры, но искусственно создает тишину между треками, используя команду PREGAP. Это замечательно, если в зазорах была тишина, но никуда не годится, если зазоры содержат звук.
5. Потрековый рип с зазорами (Noncompliant -- несовместимый синтаксис cue-файла)
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
Этот cue-файл, созданный ЕАСом при потрековом рипе, присоединяет зазоры к предыдущему треку и предпочтителен для пользователей, которые делают потрековый рип, но желают сохранить информацию зазоров. Данный формат позволяет сохранить зазоры, но в таком месте файла-трека, где это не мешает воспроизведению. К сожалению, этот формат имеет несовместимый синтаксис, поэтому приложения, жестко ориентированые на спецификацию (подобно foobar2000), не способны его прочесть. ЕАС, очевидно, читает эти cue-файлы, так же как приложение для прожигания CD-дисков Burrrn.
Заметьте, что INDEX 00 для TRACK 02 расположен там, где все еще идет ссылка на первый FILE.
6. Для полноты приведем также полный cue-файл для образа того же диска, для которого выше были даны cue-файлы для потрековых рипов.
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
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 21-Ноя 15:52
Часовой пояс: UTC + 5