(Это перевод англоязычной заметки. См. также описание более простого способа.)
Итак, задача такова: дана пара файлов, предположим 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.
Источник
Читать дальше…