Tips & tricks — Разрезаем lossless-аудио (ape, flac, wv, wav) по файлу cue
Понимаю, что по теме этого поста наверняка написано огромное количество статей, мануалов и прочих ЧаВо. Но каждый раз искать лень, проще один раз сделать узелок на память в блоге.
Итак, задача такова: дана пара файлов, предположим, sample.cue и sample.flac, с каким-либо альбомом. Требуется получить треки альбома в отдельных flac-файлах.Если у вас linux, то делается это в два счёта. Ниже следует перевод одной довольно неплохой статьи с решением проблемы.
Файлы с lossless-аудио могут быть разрезаны по cue-файлу при помощи утилиты «shnsplit» (входит в пакет «shntool»). Также потребуется утилита «cuebreakpoints» (из пакета «cuetools»). Чтобы установить их, откройте терминал и введите следующее (эти пакеты есть в Ubuntu и Debian):
Кроме этого потребуются приложения для работы с выбранным форматом. Для Monkey’s Audio нужна будет утилита «mac» (в Debian есть пакет «monkeys-audio»). Для FLAC и WavePack потребуется установить соответственно «flac» и «wavpack»:
Утилите shnsplit требуется для работы список точек, в которых нужно делить звуковой файл. Очень кстати тут оказывается утилита cuebreakpoints, которая печатает список таких точек по cue- или toc-файлу в формате, используемом в shnsplit. Можно создать конвейер между cuebreakpoints и shnsplit следующим образом:
В этом примере flac-файл с именем «sample.flac» разрезается по точкам, содержащимся в «sample.cue» и результат выводится в формате FLAC.
Выходной формат задаётся параметром «-o». Если не указать формат, то файлы будут сохрняться в формате по умолчанию, то есть в виде wav-файлов.
Чтобы разрезать файл в формате Monkey’s Audio и сохраниеть результаты в формате FLAC, нужно выполнить следующую команду:
По умолчанию для выходных файлов используется префикс «split-track» (то есть по умолчанию файлы будут иметь имена: split-track01, split-track02, split-track03,…). Можно задать собственный префикс при помощи опции «-a».
Чтобы посмотреть список всех параметров наберите «shntool split -h» или «shnsplit -h».
В звуковые файлах, полученных с помощью shnsplit не будут записаны данные об исполнителе, альбоме и так далее. Однако, можно воспользоваться скриптом cuetag (также входящим в пакет cuetools) для того, чтобы перенести данные из cue-файла в отдельные дорожки. Можно указать отдельные файлы, соответствующие дорожкам, содержащимся в cue-файле:
Эта команда перенесёт теги, содержащиеся в файле «sample.cue» в файлы с дорожками: «split-track01.flac», «split-track02.flac», «split-track03.flac» and «split-track04.flac».
Можно записать теги сразу во все полученные файлы:
Утилита cuetag работает с форматами FLAC, Ogg и mp3.
P.S. На welinux уже были обсуждения этой темы (тут и тут) и ссылки на оригинальную статью в комментариях, но полного описания рассмотренных утилит я не помню, потому и закросспостил сюда этот перевод.
Итак, задача такова: дана пара файлов, предположим, sample.cue и sample.flac, с каким-либо альбомом. Требуется получить треки альбома в отдельных flac-файлах.Если у вас linux, то делается это в два счёта. Ниже следует перевод одной довольно неплохой статьи с решением проблемы.
Файлы с lossless-аудио могут быть разрезаны по cue-файлу при помощи утилиты «shnsplit» (входит в пакет «shntool»). Также потребуется утилита «cuebreakpoints» (из пакета «cuetools»). Чтобы установить их, откройте терминал и введите следующее (эти пакеты есть в Ubuntu и Debian):
sudo apt-get install cuetools shntool
Кроме этого потребуются приложения для работы с выбранным форматом. Для Monkey’s Audio нужна будет утилита «mac» (в Debian есть пакет «monkeys-audio»). Для FLAC и WavePack потребуется установить соответственно «flac» и «wavpack»:
sudo apt-get install flac wavpack
Утилите shnsplit требуется для работы список точек, в которых нужно делить звуковой файл. Очень кстати тут оказывается утилита cuebreakpoints, которая печатает список таких точек по cue- или toc-файлу в формате, используемом в shnsplit. Можно создать конвейер между cuebreakpoints и shnsplit следующим образом:
cuebreakpoints sample.cue | shnsplit -o flac sample.flac
В этом примере flac-файл с именем «sample.flac» разрезается по точкам, содержащимся в «sample.cue» и результат выводится в формате FLAC.
Выходной формат задаётся параметром «-o». Если не указать формат, то файлы будут сохрняться в формате по умолчанию, то есть в виде wav-файлов.
Чтобы разрезать файл в формате Monkey’s Audio и сохраниеть результаты в формате FLAC, нужно выполнить следующую команду:
cuebreakpoints sample.cue | shnsplit -o flac sample.ape
По умолчанию для выходных файлов используется префикс «split-track» (то есть по умолчанию файлы будут иметь имена: split-track01, split-track02, split-track03,…). Можно задать собственный префикс при помощи опции «-a».
Чтобы посмотреть список всех параметров наберите «shntool split -h» или «shnsplit -h».
В звуковые файлах, полученных с помощью shnsplit не будут записаны данные об исполнителе, альбоме и так далее. Однако, можно воспользоваться скриптом cuetag (также входящим в пакет cuetools) для того, чтобы перенести данные из cue-файла в отдельные дорожки. Можно указать отдельные файлы, соответствующие дорожкам, содержащимся в cue-файле:
cuetag sample.cue split-track01.flac split-track02.flac split-track03.flac split-track04.flac
Эта команда перенесёт теги, содержащиеся в файле «sample.cue» в файлы с дорожками: «split-track01.flac», «split-track02.flac», «split-track03.flac» and «split-track04.flac».
Можно записать теги сразу во все полученные файлы:
cuetag sample.cue split-track*.flac
Утилита cuetag работает с форматами FLAC, Ogg и mp3.
P.S. На welinux уже были обсуждения этой темы (тут и тут) и ссылки на оригинальную статью в комментариях, но полного описания рассмотренных утилит я не помню, потому и закросспостил сюда этот перевод.