Vcoder 05.04.2011 20:23
Скрипты — Конвертация и разделение CUE + APE в MP3
Дано: есть несколько альбомов, видимо сграбленных какой-то программой, когда все песни с диска находятся в одном большом аудиофайле, а разметка по времени и названиям песен хранится в отдельном файле с расширением "CUE". Причём звуковой файл имеет расширение "APE" - формат Monkey's audio.Задача: преобразовать это дело в привычные .mp3, чтобы неискушённые пользователи могли слушать музыку в своих любимых плеерах.
Вначале я попытался использовать имеющиеся инструменты, в том числе и советуемые на welinux.
mp3splt выводит имена дорожек кракозябрами, при нажатии на "пуск" выдаёт ошибку "не найден файл '' ".
gCue2tracks 5 раз говорит "неизвестный формат", после чего намертво виснет.
shntool также говорит "неизвестный формат входного файла".
Здесь для работы с форматом .ape советуют установить пакет "monkeys-audio", но в убунте 10.10 его нет.
В то же время audacious, totem, VLC, mplayer этот .ape файл играют без каких-либо затруднений.
Тут я понял, что придётся делать самому. Далее приведены пара скриптов, решающие поставленную задачу. Буду рад, если они упростят жизнь кому-нибудь ещё.
Для разделения файла на отдельные песни решено было использовать утилиту shntool, декодировав исходный файл в понятный ей формат WAV. Выходные файлы кодируются в mp3 с помощью lame, также в них добавляются некоторые теги. Теги добавляются в расово неверной кодировке windows-1251, но на то есть причина: это решение получилось кросспалатформенным. В линуксе плеер audacious теги в этой кодировке отображает вполне корректно, кроме того и в windows они также отобразятся правильно. Всё это делает этот небольшой скрипт:
После пятого альбома мне наскучило запускать преобразование каждого альбома вручную и ждать завершения, в результате был написан скрипт, который ищет все .cue файлы начиная с текущего каталога, проверяет наличие рядом с ним аудиофайла .ape и конвертирует его в набор mp3-шек. Затем файлы .cue, .ape и .log (лог-файлы программы, которой была создана связка CUE+APE) удаляются. Это делается потому, что я работал с копиями альбомов, а в результате необходимо было получить каталоги с mp3 файлами, готовые для записи на CD/DVD диск.
PaulRed 05.04.2011 21:05 #
+ 0 -
cue2tracks: http://www.ylsoftware.com/storage/files/14/page/2
Да, но конкретно для моего случая не подошло - проект "mac-port" на SF более не значится, а без него, как я понял, формат Monkey's audio не прочесть.
для таких целей вместо описанного джедайства использую flacon http://code.google.com/p/flacon/
Скачал. Хорошая программа, приятный интерфейс. То, что нужно. Даже названия песен в CP1251 прочитал корректно. Вот только кнопка "Конвертировать" неактивна... :(
Ага, меня как автора этого самого флакона, зацепило:)
Кнопка может быть не активной если программа не смогла найти соответствующий аудио-файл для cue. Возможно имена cue и ape отличаются, или не был установлен mac и программа не распознала ape-файл как звуковой. Можно ручками указать файл, для этого есть кнопка в CD-строке таблицы.
Видимо надо как-то более явно сообщать о проблемах. Как это лучше сделать? Есть пожелания с точки зрения пользователя первый раз запустившего программу?
Кнопка может быть не активной если программа не смогла найти соответствующий аудио-файл для cue. Возможно имена cue и ape отличаются, или не был установлен mac и программа не распознала ape-файл как звуковой. Можно ручками указать файл, для этого есть кнопка в CD-строке таблицы.
Видимо надо как-то более явно сообщать о проблемах. Как это лучше сделать? Есть пожелания с точки зрения пользователя первый раз запустившего программу?
Очень приятно, рад встрече с автором.
Сейчас запустил ещё раз. Справа в строке с диском опять появился жёлтый треугольник с восклицательным знаком. Но в этот раз при наведении на него таки появилась всплывающая подсказка о том, что звуковой файл либо не найден, либо не поддерживается. Вчера она не появлялась, возможно это связано с какими-то глюками в системе. Через меню по правой кнопке указал звуковой файл (кстати, его имя совпадает с именем .cue) и получил MessageBox о том, что формат аудио файла не поддерживается.
Пожелание от юзера, видевшего прогу впервые... Пожалуй, как-то ещё сообщать, что конвертировать нельзя и почему нельзя. Сейчас, как я понял, единственный способ это узнать - по всплывающей подсказке на значке "!" в CD-строке. Но подсказки эти часто ломаются. Возможно, не следует деактивировать кнопку "Конвертировать", а вместо этого, если конвертирование невозможно, при нажатии на неё сообщать о том, что не так. Хотя-бы тот же самый MessageBox показать, уже ясно станет.
Сейчас запустил ещё раз. Справа в строке с диском опять появился жёлтый треугольник с восклицательным знаком. Но в этот раз при наведении на него таки появилась всплывающая подсказка о том, что звуковой файл либо не найден, либо не поддерживается. Вчера она не появлялась, возможно это связано с какими-то глюками в системе. Через меню по правой кнопке указал звуковой файл (кстати, его имя совпадает с именем .cue) и получил MessageBox о том, что формат аудио файла не поддерживается.
Пожелание от юзера, видевшего прогу впервые... Пожалуй, как-то ещё сообщать, что конвертировать нельзя и почему нельзя. Сейчас, как я понял, единственный способ это узнать - по всплывающей подсказке на значке "!" в CD-строке. Но подсказки эти часто ломаются. Возможно, не следует деактивировать кнопку "Конвертировать", а вместо этого, если конвертирование невозможно, при нажатии на неё сообщать о том, что не так. Хотя-бы тот же самый MessageBox показать, уже ясно станет.
Да, я вчера заметил есть такая проблема. Если в дереве есть скроллинг, то треугольник иногда рисуется где-то за границей. Буду починять. Может и правда добавлю messagebox.
Аудио файл не поддерживается, потому что нет mac-а. В убунте его можно поставить из моего PPA-репозитория.
Аудио файл не поддерживается, потому что нет mac-а. В убунте его можно поставить из моего PPA-репозитория.
Нет-нет, треугольник был, я точно помню. Просто иногда в системе что-то клинит, и всплывающие подсказки перестают отображаться. Это вообще не обязательно программа виновата. Я лишь хотел сказать, что нельзя на всплывающие подсказки полагаться всецело и делать их единственным способом донести информацию до пользователя. Дополнительный - да. Но не единственный.
За ссылку на репозиторий спасибо. :)
За ссылку на репозиторий спасибо. :)
Есть альтернативная точка зрения. В скачиваемых с rutracker.org, например, дисков в указанном вами формате очень часто в самом .cue-файле указано имя звукового файла с расширением .wav. Может, в этом дело?
Я решаю эту проблему так: s/.wav/.ape/, и сохраняю изменённый cue-файл.
Я решаю эту проблему так: s/.wav/.ape/, и сохраняю изменённый cue-файл.
Посмотрел. Нет, в моём случае внутри .cue указаны файлы с расширением именно "ape".
Этот тег часто не соответствует жизни, поэтому на него полагаться нельзя. Он, конечно участвует в поиске, но из него берется только "basename". Так-что проблема не в расширении.
IMHO либо не установлен mac, либо файл битый.
IMHO либо не установлен mac, либо файл битый.
flacon - годная прога, но использует эти же консольные утилиты, которые спотыкаются на некоторых файлах (даже если их юзать напрямую). Некоторые альбомы пришлось разрезать в aimp converter под wine. Вообще, эта утилита работаеточ хорошо в линуксе.
А какие были проблемы? Можно примеры попросить, или уже дело прошлое и все удалено.
Все сконверчено и образы удалены. Конвертируются предположим 7 из 10 треков, а на восьмом выскакивает ошибка. Это скорее связано с самим файлом ape, т е cue был составлен правильно.
Использовал этот скрипт.
Необходимые программы: mac, lame, mp3splt, oggenc (входит в vorbis-tools), желательно также поставить id3 mass tagger
Этот скрипт конвертирует ape в wav при помощи mac, после чего разбивает полученный файл на несколько, опираясь на информацию из cue-фала, при помощи mp3splt. mp3splt также записывает теги в mp3-файлы, используя информацию из cue-файла.
Итак, для конвертации в mp3 выполняем:
cueape.sh file.ape file.cue -m
с поправкой на наши файлы. Чтобы получить на выходе ogg используйте параметр -o вместо -m.
Необходимые программы: mac, lame, mp3splt, oggenc (входит в vorbis-tools), желательно также поставить id3 mass tagger
Этот скрипт конвертирует ape в wav при помощи mac, после чего разбивает полученный файл на несколько, опираясь на информацию из cue-фала, при помощи mp3splt. mp3splt также записывает теги в mp3-файлы, используя информацию из cue-файла.
Итак, для конвертации в mp3 выполняем:
cueape.sh file.ape file.cue -m
с поправкой на наши файлы. Чтобы получить на выходе ogg используйте параметр -o вместо -m.
Если установлены пакеты mac (flac, wavpack для получения треков в lossless-формате), lame, shntool, то любой сплиттер с графическим интерфейсом должен работать. Лично я пользуюсь gCue2tracks (Ubuntu 10.10) без каких-либо проблем при разрезании ape+cue, flac+cue, wv+cue.
У меня тоже Ubuntu 10.10. Но я так и не нашёл, какой пакет нужно установить для работы с ape... Может вы подскажете? Описанные в посте плееры его и так играют без проблем, ffmpeg также распознал и декодировал.
Для установки mac пишем в любимом терминале (можно и через графический интерфейс, но тогда процесс немного затянется):
Хочу заметить, что на Mandriva 2010 у меня были проблемы с ape-файлами (mac ругался на ~90% имеющихся файлов), поэтому я вначале конвертировал их в flac (у меня вся фонотека в данном формате, также можно конвертировать и в wav) c помощью ffmpeg:
Это команда справедлива для консоли. Я же добавил "Действие" для Dolphin'a и процесс стал проходить в два клика. Если интересно, то могу написать пост по этому поводу. Для Nautilus'a я такого делать не стал, т.к. есть скрипт (audioconvert, кажется), и у меня заработала gCue2tracks, которая не захотела работать в Mandriva.
sudo add-apt-repository ppa:g-christ/ppa
sudo apt-get update && sudo apt-get install mac-3.99
Хочу заметить, что на Mandriva 2010 у меня были проблемы с ape-файлами (mac ругался на ~90% имеющихся файлов), поэтому я вначале конвертировал их в flac (у меня вся фонотека в данном формате, также можно конвертировать и в wav) c помощью ffmpeg:
ffmpeg -i 'input_file.ape' 'output_file.flac'
Это команда справедлива для консоли. Я же добавил "Действие" для Dolphin'a и процесс стал проходить в два клика. Если интересно, то могу написать пост по этому поводу. Для Nautilus'a я такого делать не стал, т.к. есть скрипт (audioconvert, кажется), и у меня заработала gCue2tracks, которая не захотела работать в Mandriva.
С репозиторием вышла досадная оплошность. Проще сделать так:
$ wget http://members.iinet.net.au/~aidanjm/mac-3.99-u4_b3-1_i386.deb
$ sudo dpkg -i mac-3.99-u4_b3-1_i386.deb
Также можно скачать отсюда:
$ wget http://ppa.launchpad.net/g-christ/ppa/ubuntu/pool/main/m/mac/mac_3.99-u4-b5-s7-1~ppa1_i386.deb
$ sudo dpkg -i mac_3.99-u4-b5-s7-1~ppa1_i386.deb
Скрипт convert-all у вас с ошибочкой. Он может ходить по каталогам только с одним уровнем вложенности. Если хотя бы два уровня вложенности, он уже ломается.
Ошибка в 29-ой строке.
Чтобы исправить, надо где-нибудь в 14-ой строке добавить что-то типа
а 29-ю привести к виду
Ошибка в 29-ой строке.
Чтобы исправить, надо где-нибудь в 14-ой строке добавить что-то типа
BPWD=$(pwd)
а 29-ю привести к виду
cd $BPWD