воскресенье, 11 декабря 2011 г.

Конвертация и разрезание cue, ape to flac

Так получилось что я пользуюсь плеером Rithmbox, а он не работает с cue. А так как некоторые нужные альбомы распространяются в виде одного файла, то требуется решение по конвертации из cue во flac. Решение основано на cue2tracks.

Для начала поставим утилиты для работы с различными форматами:
 sudo apt-get install ffmpeg mpeg4ip-utils flac
Если вы собираетесь работать с APE форматом, то надо скачать mac - ссылка ведёт на ppa, выберете версию под вашу архитектуру, скачайте и установите.

Теперь установим утилиту, которая будет непосредственно разбивать файлы  cue2tracks - опять же скачиваем и устанавливаем.

Если выполнить эту команду находясь в директории с альбомом, то мы увидим, что получиться на выходе, но действий никаких не произойдёт.
cue2tracks -C -c flac -o "%N. %P - %t" *cue
Как видно мы конвертируем в flac и имя файла на выходе будет типа: "04. Mozart - 6 Minuets KV 599 - 4. B Flat Major.flac".

Что бы выполнить надо добавить ключ -R:

cue2tracks -RC -c flac -o "%N. %P - %t" *cue
Возможно в файле cue был не правильно указан файл, который нам надо разрезать, в этом случае надо вписать правильный. Но что если таких файлов много? Для быстрого решения этой проблемы используем утилиту rpl - её надо тоже уставить.
sudo apt-get install rpl
 Теперь смотрим, что делает следующая команда:
find . -name "*.cue" -exec rpl -q  CDImage.wav CDImage.ape  {} \;
Она находит все файлы cue, потом в них находит слово  CDImage.wav и меняет его на  CDImage.ape.

Но раз у вас много таких файлов, то наверное надо скрипт для автоматизации работы cue2tracks. Тут я возможно предложу не самый лучший вариант, но он прост для понимания. В моём случае была следующая иерархия папок  "Исполнитель / бокс / CD". Поэтому находясь  в папки Исполнитель до каждого CUE файла надо было пройти две папки, что и реализует следующий скрипт:


#!/bin/bash
for file in *  #Проход по всему содержимому папки
do
  if [ -d "$file" ] #Если это директория
  then
        cd "$file" #То входим в неё
        for file1 in *
        do
          if [ -d "$file1" ]
          then
            cd "$file1"
            pwd  #Теперь когда спустились вниз выводим директорию где мы и запускаем программу
            cue2tracks -RC -c flac -o "%N. %P - %t" *cue
            cd ../
          fi
        done
        cd ../
  fi
done
Сохраняем в файл cue2trac.sh, выполняем:
chmod +x cue2trac.sh
И можно пользоваться запустив ./cue2trac.sh

 

0 коммент.:

Отправить комментарий