Разрезаем lossless аудио на треки

Автор: | 24.04.2010

Объёмы жёстких дисков растут, но коллекции фильмов я не собираю, а следовательно, забивать эти объёмы практически нечем. Зато люблю послушать музыку в хорошем качестве. Поэтому уже давно обратил своё внимание на lossless форматы аудио.

Сжатие без потерь (англ. Lossless data compression) — метод сжатия информации, при использовании которого закодированная информация может быть восстановлена с точностью до бита. При этом оригинальные данные полностью восстанавливаются из сжатого состояния. Этот тип сжатия принципиально отличается от сжатия данных с потерями. Для каждого из типов цифровой информации, как правило, существуют свои оптимальные алгоритмы сжатия без потерь.

Но вот незадача… Если заниматься рипом самому, то разумеется, всё делается как тебе же и удобно… Но если скачать уже готовый рип, то он далеко не всегда соответствует личным предпочтениям. В частности, я предпочитаю альбомы, разрезанные на треки, но в сеть обычно выкладываются цельные рипы с cue-файлом. Так как же разрезать такой рип на треки? Этим мы и займёмся под управлением Fedora 12.

Дано: Альбом любимого музыканта, одним файлом в lossless формате (ape, flac, wv, wav) и cue файл.

Задача: Разрезать альбом на треки.

Решение:

  1. Для установки нам потребуется репозиторий RPM Fusion.
  2. Для решения это задачи нам понадобятся shnsplit (из пакета shntool) и cuebreakpoints (из пакета cuetools). Установим их:
    $ sudo yum install shntool cuetools
  3. Следующим шагом установим поддержку необходимых нам форматов:
    $ sudo yum install mac flac wavpack
  4. С помощью shnsplit мы будем разрезать файл, но для этого нам нужен правильно сформированные вывод cue файла. И тут нам на помощь придёт cuebreakpoints. А подружить их можно следующим образом:
    $ cuebreakpoints example.cue | shnsplit -o flac example.flac

    В данном примере файл example.flac будет разрезан на треки в соответствии с данными из файла example.cue. Ключ -o flac задаёт формат для сохранения результата.

  5. По умолчанию выходные файлы будут иметь имена split-track01, split-track02, split-track03 и так далее. Более подробно о возможностях программы можно узнать в справке:
    $ shnsplit -h
  6. При таком подходе у нас не будут сохранены теги, содержащие более подробную информацию о композиции. Но это легко исправить с помощь cuetag, входящей в состав того же cuetools:
    $ cuetag.sh example.cue split-track01.flac split-track02.flac split-track03.flac

    или по маске

    $ cuetag.sh example.cue split-track*.flac
  7. Копируем полученные файлы в нашу коллекцию и наслаждаемся результатом 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *