![](https://habrastorage.org/getpro/habr/post_images/22c/085/c3e/22c085c3e7c10383e861e7e90f923dfa.png)
Начнём с того, что EAC — не панацея. Его можно запустить под Wine, но смысла в этом не сильно много. В Linux есть отличное родное средство для снятия рипов — cdparanoia. Многочисленные тесты многочисленных аудиофилов так и не смогли ответить на вопрос, что более качественно снимает рипы: EAC или cdparanoia. Поэтому совершенно спокойно можно считать, что cdparanoia и EAC обеспечивают абсолютно одинаковое качество и поэтому под Linux использовать родную утилиту, т.е. паранойю.
Кроме того, стоит также заметить, что практически все программы снятия рипов в Linux на самом деле являются просто обёрткой над cdparanoia. Поэтому я лично предпочитаю использовать эту утилиту напрямую, благо консоль у меня не вызывает негативных эмоций.
![](https://habrastorage.org/storage/15d99bea/74da9b7e/c6a0ca3b/ad80903c.png)
Использование cdparanoia
Для начала обязательно убедитесь, что у вас в системе стоит самая последняя версия cdparanoia. Если что, скачать её бинарник можно с официального сайта http://xiph.org/paranoia/. Да, паранойя давно не обновлялась. С другой стороны я ни разу и не видел упоминания каких-либо проблем в работе последней стабильной версии.
Теперь вам необходимо узнать смещение чтения для вашего привода (оффсет), без правильного его указания говорить о каком-то качестве рипа просто бессмысленно. Для этого во-первых нужно определить модель дисковода. Сделать это можно командой
lshw -c disk
Теперь идём на accuraterip.com и смотрим смещение. В моём случае оно равно +6.
Ну и наконец снимаем рип командой (не забудьте изменить оффсет!)
cdparanoia -vzl -O +6 [::]- CDImage.wav
Возможны и другие опции, за подробностями обращайтесь в man, который есть и на официальном сайте.
Если всё прошло без ошибок — хорошо. Если же нет, то проверить точность рипа можно только сняв его несколько раз и сравнив полученные файлы. Сравнивать можно вычисляя контрольную сумму, например, командой
md5sum -b *.wav
Если суммы не совпадают — значит файлы различаются, в этом случае обычно проще всего выбрать тот файл, который совпадает максимальное количество раз.
Итак, будем считать, что точный рип аудиоданных получен.
Получение разметки диска и CDTEXT
Теперь надо снять всю информацию о разметке дорожек и о композициях и авторе. Сохранять её будем в стандартный cue файл. Вам потребуется два пакета — cuetools и cdrdao. Теперь сначала снимите все метаданные с диска командой
cdrdao read-toc disk.toc
А потом сконвертируйте полученный файл в cue командой
cueconvert -i toc disk.toc disk.cue
Всё что осталось — это вручную исправить cue, приведя его к желаемому виду.
Разрезание образа на треки и кодирование
Почему-то есть совершенно дурацкая тенденция хранить аудиодиски в виде единого образа с приложенным cue. Откуда она пошла — мне неизвестно, но против неё есть два весомейших аргумента:
- cue — это файл физической разметки и метаданных. Он просто элементарно не предназначен для сохранения сколько-нибудь полной информации о диске и композициях. Глупейшие попытки расширить его синтаксис за счёт специальных комментариев вылились в то, что cue перестали правильно понимать многие плееры.
- Единый образ жутко неудобен, когда надо послушать или скопировать только одну композицию.
Так что давайте разберёмся, как разрезать диск и потом закодировать дорожки в нужный формат. Вам потребуется ещё один пакет — shntool.
Теперь просто выполните
cuebreakpoints disk.cue | shnsplit -o wav CDImage.wav
Получится куча файликов split-track**.wav. Теперь их нужно закодировать в нужный формат. Собственно вся эта морока с качественными рипами намекает на то, что формат этот должен быть lossless, хотя я кодирую и в OGG Vorbis для прослушивания на плеере. lossless — это однозначно flac, lossy — Vorbis, на всякий случай скажу и про mp3.
Итак, вам потребуется один или несколько из этих пакетов: flac, oggenc, lame.
Теперь для кодирования во flac можно использовать команду
flac -8 split-track*.wav
Для OGG Vorbis
oggenc -q 7 split-track*.wav
Для mp3
lame -h -b 320 split-track*.wav
Конечно, можно выставить и другие опции, эти просто самые оптимальные.
Прописывание тегов
Осталось только прописать теги в файлы и нужным образом их переименовать. Автоматически добавить информацию из cue в теги можно командой
cuetag disk.cue split-track*.flac
Вместо flac конечно нужно подставить нужное расширение. Ну а переименовать файлы и заполнить оставшиеся теги можно с помощью очень удобной утилиты EasyTag.
Все приведённые выше команды можно объединить в один скрипт:
#!/bin/sh cdparanoia -vzl -O +6 [::]- CDImage.wav cdrdao read-toc disk.toc cueconvert -i toc disk.toc disk.cue cuebreakpoints disk.cue | shnsplit -o wav CDImage.wav flac -8 split-track*.wav cuetag disk.cue split-track*.flac
Ну или как-то так. Не забудьте выставить правильные опции в командах!
Вот и всё. Если сделать чуть более продвинутый скрипт, то можно легко осуществлять любую обработку аудиоданных с диска. Однако тут уже всё зависит от ваших задач.
UPD: Чтобы не пугались. Всё вышеописанное совершенно необязательно выполнять, существует прекрасная GUI программа Rubi Ripper, которая к тому же сама перечитывает несколько раз дорожки и корректирует по необходимости расхождения чтения, что важно при считывании повреждённого диска. Цель этого поста — рассказать как всё можно сделать по шагам с любыми настройками и манипуляциями на любом шаге.
Эта статья написана по мотивам http://help.ubuntu.ru/wiki/рип_аудио_дисков, предлагаю всем заинтересованным присоединяться к развитию ресурса русскоязычной документации по Ubuntu, дабы иметь в одном месте как можно больше полезной информации.