Автор |
Сообщение |
admin ®
Статус: Не в сети Стаж: 7 лет 1 месяц Сообщений: 23734 Репутация: 0 [+] [-] Откуда: Россия
|
Справочник. Синтаксис CUE sheet (индексной карты, cuesheet, cue-файлов) 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. Потрековый рип с откорректированными зазорамиREM DISCID 3D0E2605 REM COMMENT "ExactAudioCopy v0.99pb5" PERFORMER "Swallow The Sun" TITLE "Plague Of Butterflies" FILE "01. Swallow The Sun – Plague Of Butterflies.wav" WAVE TRACK 01 AUDIO TITLE "Plague Of Butterflies" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 FILE "02. Swallow The Sun – Through Her Silvery Body.wav" WAVE TRACK 02 AUDIO TITLE "Through Her Silvery Body" PERFORMER "Swallow The Sun" INDEX 00 00:00:00 INDEX 01 00:06:50 FILE "03. Swallow The Sun – Out Of This Gloomy Light.wav" WAVE TRACK 03 AUDIO TITLE "Out Of This Gloomy Light" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 FILE "04. Swallow The Sun – Swallow.wav" WAVE TRACK 04 AUDIO TITLE "Swallow" PERFORMER "Swallow The Sun" INDEX 00 00:00:00 INDEX 01 00:01:03 FILE "05. Swallow The Sun – Under The Waves.wav" WAVE TRACK 05 AUDIO TITLE "Under The Waves" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 Этот cue-файл, созданный ЕАСом при потрековом рипе, -- для случая зазоров, присоединенных к началу следующего трека. Этот метод позволяет сохранить зазоры, но при добавлении зазора к следующему треку, он может начинаться с тишины, что делает воспроизведение менее удовлетворительным. 4. Потрековый рип с удаленными зазорамиREM DISCID 3D0E2605 REM COMMENT "ExactAudioCopy v0.99pb5" PERFORMER "Swallow The Sun" TITLE "Plague Of Butterflies" FILE "01. Swallow The Sun – Plague Of Butterflies.wav" WAVE TRACK 01 AUDIO TITLE "Plague Of Butterflies" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 FILE "02. Swallow The Sun – Through Her Silvery Body.wav" WAVE TRACK 02 AUDIO TITLE "Through Her Silvery Body" PERFORMER "Swallow The Sun" PREGAP 00:06:50 INDEX 01 00:00:00 FILE "03. Swallow The Sun – Out Of This Gloomy Light.wav" WAVE TRACK 03 AUDIO TITLE "Out Of This Gloomy Light" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 FILE "04. Swallow The Sun – Swallow.wav" WAVE TRACK 04 AUDIO TITLE "Swallow" PERFORMER "Swallow The Sun" PREGAP 00:01:03 INDEX 01 00:00:00 FILE "05. Swallow The Sun – Under The Waves.wav" WAVE TRACK 05 AUDIO TITLE "Under The Waves" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 Этот cue-файл, созданный ЕАСом при потрековом рипе, убирает зазоры, но искусственно создает тишину между треками, используя команду PREGAP. Это замечательно, если в зазорах была тишина, но никуда не годится, если зазоры содержат звук. 5. Потрековый рип с зазорами (Noncompliant -- несовместимый синтаксис cue-файла)REM DISCID 3D0E2605 REM COMMENT "ExactAudioCopy v0.99pb5" PERFORMER "Swallow The Sun" TITLE "Plague Of Butterflies" FILE "01. Swallow The Sun – Plague Of Butterflies.wav" WAVE TRACK 01 AUDIO TITLE "Plague Of Butterflies" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Through Her Silvery Body" PERFORMER "Swallow The Sun" INDEX 00 34:35:64 FILE "02. Swallow The Sun – Through Her Silvery Body.wav" WAVE INDEX 01 00:00:00 FILE "03. Swallow The Sun – Out Of This Gloomy Light.wav" WAVE TRACK 03 AUDIO TITLE "Out Of This Gloomy Light" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 TRACK 04 AUDIO TITLE "Swallow" PERFORMER "Swallow The Sun" INDEX 00 05:33:44 FILE "04. Swallow The Sun – Swallow.wav" WAVE INDEX 01 00:00:00 FILE "05. Swallow The Sun – Under The Waves.wav" WAVE TRACK 05 AUDIO TITLE "Under The Waves" PERFORMER "Swallow The Sun" INDEX 01 00:00:00 Этот cue-файл, созданный ЕАСом при потрековом рипе, присоединяет зазоры к предыдущему треку и предпочтителен для пользователей, которые делают потрековый рип, но желают сохранить информацию зазоров. Данный формат позволяет сохранить зазоры, но в таком месте файла-трека, где это не мешает воспроизведению. К сожалению, этот формат имеет несовместимый синтаксис, поэтому приложения, жестко ориентированые на спецификацию (подобно foobar2000), не способны его прочесть. ЕАС, очевидно, читает эти cue-файлы, так же как приложение для прожигания CD-дисков Burrrn. Заметьте, что INDEX 00 для TRACK 02 расположен там, где все еще идет ссылка на первый FILE. 6. Потрековый рип с зазорами (Noncompliant -- несовместимый синтаксис cue-файла) (другой вариант)REM GENRE Hardcore REM DATE 2008 REM DISCID 7C0A780A REM COMMENT "ExactAudioCopy v0.99pb4" PERFORMER "Norma Jean" TITLE "The Anti Mother" FILE "01 - Vipers, Snakes, And Actors.wav" WAVE TRACK 01 AUDIO TITLE "Vipers, Snakes, And Actors" PERFORMER "Norma Jean" PREGAP 00:00:05 INDEX 01 00:00:00 FILE "02 - Self Employed Chemist.wav" WAVE TRACK 02 AUDIO TITLE "Self Employed Chemist" PERFORMER "Norma Jean" INDEX 01 00:00:00 FILE "03 - Birth Of The Anti Mother.wav" WAVE TRACK 03 AUDIO TITLE "Birth Of The Anti Mother" PERFORMER "Norma Jean" INDEX 01 00:00:00 TRACK 04 AUDIO TITLE "Robots 3 Humans 0" PERFORMER "Norma Jean" INDEX 00 02:31:28 FILE "04 - Robots 3 Humans 0.wav" WAVE INDEX 01 00:00:00 FILE "05 - Death Of The Anti Mother.wav" WAVE TRACK 05 AUDIO TITLE "Death Of The Anti Mother" PERFORMER "Norma Jean" INDEX 01 00:00:00 FILE "06 - Surrender Your Sons....wav" WAVE TRACK 06 AUDIO TITLE "Surrender Your Sons..." PERFORMER "Norma Jean" INDEX 01 00:00:00 FILE "07 - Murphy Was An Optimist.wav" WAVE TRACK 07 AUDIO TITLE "Murphy Was An Optimist" PERFORMER "Norma Jean" INDEX 01 00:00:00 FILE "08 - Opposite Of Left And Wrong.wav" WAVE TRACK 08 AUDIO TITLE "Opposite Of Left And Wrong" PERFORMER "Norma Jean" INDEX 01 00:00:00 FILE "09 - ...Discipline Your Daughters.wav" WAVE TRACK 09 AUDIO TITLE "...Discipline Your Daughters" PERFORMER "Norma Jean" INDEX 01 00:00:00 FILE "10 - And There Will Be A Swarm Of Hornets.wav" WAVE TRACK 10 AUDIO TITLE "And There Will Be A Swarm Of Hornets" PERFORMER "Norma Jean" INDEX 01 00:00:00 В данном случае длина зазора перед первым треком составила 00:02:05 вместо стандартной 00:02:00. Разница добавлена командой PREGAP 00:00:05, создающей тихую паузу длины 00:00:05. 7. Краткие пояснения. Структура расстановки индексов в cue-файле такова -- индексы (которые являются просто метками) расставляются внутри каждой логической единицы независимо. Логической единицей при рипе образом является весь образ, при рипе треками -- отдельный трек. При этом INDEX 01 всегда обозначает начало трека, а INDEX 00 -- начало зазора. Остальные индексы являются просто дополнительными метками, которые позволяют (увы, только малому числу) "железным" плейерам начинать проигрывание с них. Такая структура cue-файла означает, что при рипе образом все индексы отвечают непрерывно растущим числам (времени от начала), и INDEX 01 и INDEX 00 чередуются (иногда INDEX 00 может не быть, если зазор между треками отсутствует). В то же время при потрековом рипе числа растут (а индексы чередуются, если вообще есть INDEX 00) только внутри каждого трека. Если при потрековом рипе трек начинается с INDEX 00 -- он начинается с зазора, т.е. был создан Потрековый рип с откорректированными зазорами. При этом INDEX 00 отвечают нулевые цифры, так как начало зазора совпадает с началом логической единицы (трека). В другом случае Noncompliant cue-файла зазоры, напротив, присоединяются к концу предыдущего трека, т.е. трек начинается с INDEX 01 (с нулевым значением), а в конце его стоит INDEX 00 (с ненулевым значением, отвечающим длине трека), который отвечают началу зазора следующего трека. Наконец, имеется еще случай Потрекового рипа с удаленными зазорами, когда INDEX 00 просто отсутствуют и заменены паузами с тишиной. Это делает команда PREGAP -- вставляет тихую паузу данной длины (цифра после слова PREGAP). Имеются две тонкости, связанные с началом диска. Во-первых, заметим, что обычно cue-файл для образа начинается с нулевого INDEX 01. Исключением является случай скрытого трека (см. пример 2 выше). Во-вторых, бывает проблема с зазором перед первым треком. Если выбран способ присоединения зазоров к предыдущему треку (Noncompliant cue-файл), то зазор перед первым треком присоединить не к чему. Поэтому в процессе рипа он автоматически заменится PREGAP заданной длины минус стандартные 0:00:02, которые всегда присутствуют. Однако команда PREGAP -- это тишина, поэтому, если этот пред-зазор содержал какой-то музыкальный материал (что иногда бывает), этот материал будет утерян. Чтобы иметь возможность собрать точный образ диска в этом случае нужны специальные приемы, которые будут рассмотрены в подробном тексте. 8. Потрековый рип без зазоров. В заключение для полноты картины приведем пример диска, на котором полностью отсутствуют зазоры. В этом случае, не важно, какой тип CUE мы выберем. Будь то noncompliant, с удалёнными зазорами или с откорректированными - все они идентичны. INDEX 00 полностью отсутствуют, INDEX 01 всегда начинается с нуля.REM GENRE "Progressive Rock" REM DATE 2007 REM DISCID CC0AE50E REM COMMENT "ExactAudioCopy v0.99pb5" PERFORMER "Ugly Custard" TITLE "Ungly Custard" FILE "Scarboro' Fair.wav" WAVE TRACK 01 AUDIO TITLE "Scarboro' Fair" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Link.wav" WAVE TRACK 02 AUDIO TITLE "Link" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "My Babe.wav" WAVE TRACK 03 AUDIO TITLE "My Babe" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Link.wav" WAVE TRACK 04 AUDIO TITLE "Link" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Hung Upside Down.wav" WAVE TRACK 05 AUDIO TITLE "Hung Upside Down" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Link.wav" WAVE TRACK 06 AUDIO TITLE "Link" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Custards Last Stand.wav" WAVE TRACK 07 AUDIO TITLE "Custards Last Stand" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Babe I'm Gonna Leave You.wav" WAVE TRACK 08 AUDIO TITLE "Babe I'm Gonna Leave You" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Link.wav" WAVE TRACK 09 AUDIO TITLE "Link" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Cry From The Heart.wav" WAVE TRACK 10 AUDIO TITLE "Cry From The Heart" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Link.wav" WAVE TRACK 11 AUDIO TITLE "Link" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Never In A Blues Day.wav" WAVE TRACK 12 AUDIO TITLE "Never In A Blues Day" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Link.wav" WAVE TRACK 13 AUDIO TITLE "Link" PERFORMER "Ugly Custard" INDEX 01 00:00:00 FILE "Feel This.wav" WAVE TRACK 14 AUDIO TITLE "Feel This" PERFORMER "Ugly Custard" INDEX 01 00:00:00
|
Вернуться к началу
|
Текущее время: 22-Ноя 19:17
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы не можете скачивать файлы
|
|