Для этого понадибится утилита shntool (в Debian и Ubuntu живёт в одноимённом пакете). Вообще, это настоящий швейцарский армейский нож в области работы со звуковыми файлами (в том числе и сжатыми), в чём можно убедиться, открыв соответствующий man:
man shntoolВот перечень некоторых команд, которые эта утилита поддерживает:
- len — отображает продолжительность, размер и свойства звуковых данных
- join — объединяет несколько файлов в один
- split — разбивает звуковой файл на несколько отдельных файлов
- cue — генерирует файл CUE или список точек разбиения по набору файлов
- conv — преобразует из одного формата в другой
- trim — удаляет тишину по краям записи
Естественно, для поддержки форматов нужно доустанавливать соответствующие утилиты. Для flac, ape и wv:
sudo apt-get install flac wavpack monkeys-audioСобственно команда для разрезания будет иметь вид:
Эта команда не только разобьёт исходный flac-файл, но и переименует каждый трек в соответствии с форматом:
Исполнитель (Альбом) - Номер - Название
Естественно, можно указать и другой формат, задав свою строку и используя постановочные символы %p, %a, %n, %t.
Если файлы Music.flac и Music.cue расположены в одной папке, имеют одинаковое имя, как в данном случае и других подобных файлов нет, то можно использовать следующий скрипт:
#!/bin/bashЯ его назвал split_flac и поместил в ~/bin. Чтобы им воспользоваться достаточно зайти в директорию с разрезаемыми файлами и выполнить всего одну команду:
f=`ls *.cue`
f=${f%.cue}
shntool split -f "$f.cue" -o flac "$f.flac" -t "%p (%a) - %n - %t"
split_flacАналогичный скрипт можно написать и для формата APE. А можно сделать один большой интеллектуальный скрипт, если не лень.
Чтобы не было закорючек в именах, нужно следить, чтобы файл cue был в той же кодировке, что и текущая локаль (обычно, UTF-8).
Единственный минус — теги будут пустыми, но их можно заполнить командой cuetag или какой-то специализированной утилитой наподобие EasyTAG.
Комментариев нет:
Отправить комментарий