Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:рип_аудио_дисков [2010/06/22 23:12] |
wiki:рип_аудио_дисков [2010/07/08 21:42] (текущий) |
||
---|---|---|---|
Строка 10: | Строка 10: | ||
* //... многие другие// | * //... многие другие// | ||
- | В этом случае просто сохраните музыку в ogg или mp3 с нужными вам настройками качества и можете дальше не читать эту статью. | + | В этом случае просто сохраните музыку в ogg (или mp3) с нужными вам настройками качества и можете дальше не читать эту статью. |
Однако часто хочется иметь точную копию того самого любимого диска. В этом случае вам во первых не подойдёт обычная программа чтения, а во вторых придётся использовать так называемый lossless формат хранения музыки. | Однако часто хочется иметь точную копию того самого любимого диска. В этом случае вам во первых не подойдёт обычная программа чтения, а во вторых придётся использовать так называемый lossless формат хранения музыки. | ||
Подробности про то, что такое lossless, про всякие тонкости формата Audio-CD и прочие теоретические аспекты можете почитать на соответствующих тематических ресурсах. В этой же статье хочется собрать максимально подробную практическую информацию по снятию аудио рипов. | Подробности про то, что такое lossless, про всякие тонкости формата Audio-CD и прочие теоретические аспекты можете почитать на соответствующих тематических ресурсах. В этой же статье хочется собрать максимально подробную практическую информацию по снятию аудио рипов. | ||
+ | |||
+ | <note important>Реально самые качественные рипы можно получить с помощью программы RubiRipper. Она ничем не уступает EAC и позволяет делать всё тоже самое. Данная статья носит скорей теоретический характер и написана ради подробного описания всего процесса снятия рипа с комментариями.</note> | ||
+ | |||
+ | <note warning>Ещё раз обращаю внимание: совершенно необязательно использовать консольные утилиты, описываемые в данной статье. Для снятия качественного рипа достаточно воспользоваться RubiRipper, эта программа как раз является графической надстройкой над описываемыми операциями. Однако возможно вам будет интересно прочитать эту статью до конца и вкратце познакомиться с широчайшим спектром возможных действий с аудиоданными в Linux.</note> | ||
===== Снятие рипа ===== | ===== Снятие рипа ===== | ||
Строка 20: | Строка 24: | ||
В Linux существует множество хороших программ для снятия рипов с дисков. Но познавательный факт заключается в том, что все они используют для этих целей одну и ту же утилиту командной строки - ''cdparanoia''. | В Linux существует множество хороших программ для снятия рипов с дисков. Но познавательный факт заключается в том, что все они используют для этих целей одну и ту же утилиту командной строки - ''cdparanoia''. | ||
- | Поэтому лучше всего всегда использовать именно её для снятия рипов, благо по качеству она не уступает ни одной другой существующей программе, включая широко известный EAC. | + | Поэтому часто лучше использовать именно её для снятия рипов, благо по качеству она не уступает ни одной другой существующей программе, включая широко известный EAC. |
+ | |||
+ | <note>Небольшой комментарий. Cdparanoia не занимается статистической обработкой (т.н. secured режим чтения), она только максимально качественно считывает данные с диска. Подробней об этом чуть ниже.</note> | ||
Итак, я для снятия рипов использую команду | Итак, я для снятия рипов использую команду | ||
Строка 40: | Строка 46: | ||
- Снимать рип до тех пор, пока не получите несколько совпадающих файлов. | - Снимать рип до тех пор, пока не получите несколько совпадающих файлов. | ||
- Более сложный, но при этом правильный вариант - выбрать некий небольшой размер для блока, разбить каждый wav файл на такие блоки, посчитать md5 сумму для каждого блока и затем собрать выходной файл из блоков, совпадающих в наибольшем количестве файлов. Этот вариант требует хорошего знания скриптования (или готового скрипта), но он позволяет при желании добиться максимального качества, недоступного даже для EAC и считать даже сильно порченные диски. | - Более сложный, но при этом правильный вариант - выбрать некий небольшой размер для блока, разбить каждый wav файл на такие блоки, посчитать md5 сумму для каждого блока и затем собрать выходной файл из блоков, совпадающих в наибольшем количестве файлов. Этот вариант требует хорошего знания скриптования (или готового скрипта), но он позволяет при желании добиться максимального качества, недоступного даже для EAC и считать даже сильно порченные диски. | ||
+ | - Различные вариации предыдущего пункта, основанные на многократном считывании данных с дальнейшей их статистической обработкой по частям. | ||
- | Технических подробностей реализации этих механизмов сказать не могу, если вы можете - то добавьте их в статью. Можно избрать для себя и другой алгоритм. | + | Технических подробностей реализации этих механизмов сказать не могу, если вы можете - то добавьте их в статью. Можно избрать для себя и другой алгоритм или воспользоваться готовыми программами вроде RubiRipper. |
- | Обратите, кстати, внимание на смайлы состояния процесса чтения ''cdparanoia''. Посмотреть их можно набрав | + | <note>На некоторых аудиофильных ресурсах ведутся бесконечные споры на тему того, какой рип считать правильным. Важно понимать три вещи: |
+ | |||
+ | - Во-первых, при чтении аудиодиска в случае возникновения ошибки (например, из-за того, что диск поцарапан и данные прочитать невозможно) чтение не остановится, а ошибка проигнорируется. Пропущенные данные при этом либо интерполируются, либо каким либо другим образом заменяются, а при прослушивании обычно возникает треск и прочие помехи. Именно из-за этой особенности и появилось куча софта для "правильного" чтения Audio CD. | ||
+ | - Во-вторых надо понимать, что с поцарапанного диска обычно в принципе невозможно достать достоверные данные //никаким// способом. Вы можете сколько угодно раз считывать повреждённый участок и скорее всего постоянно будете получать разные значения. И даже если по чистой случайности получите точные исходные данные, то никак не сможете понять, что это именно они и есть. Задача утилиты чтения - скорректировать как можно больше физических ошибок, этим и занимается ''cdparanoia''. | ||
+ | - Ну и наконец вы всё же можете прочитать повреждённый участок много раз и на основе полученных данных каким-либо //статистическим// методом получить выходной образ. Это позволит с некоторой долей уверенности сказать, что вы сняли максимально приближенный к оригиналу образ. Процесс статистической постобработки как раз и называется **secure ripping**. | ||
+ | |||
+ | ''cdparanoia'' не занимается статистической обработкой, она отвечает только за максимально корректное физическое чтение повреждённых участков. Если вам надо готовое решение для ''secure ripping'' - попробуйте RubiRipper, он использует ''cdparanoia'' для чтения и как раз добавляет постобработку для статистической коррекции ошибок. | ||
+ | |||
+ | Однако если в процессе чтения диска ''cdparanoia'' не выявила никаких ошибок и если после нескольких повторных считываний контрольные суммы полученных образов совпадают - то вы гарантированно получили самый точный и "секьюрный" возможный рип. | ||
+ | |||
+ | И напоследок немного по поводу параноидального режима считывания, как в ''cdparanoia'', так и в других программах (том же EAC). Это режим позволяет максимально подробно отслеживать ошибки чтения на физическом уровне и по возможности корректировать. Некоторые ресурсы рекомендуют отключать его при использовании EAC, полагаясь только на статистическую постобработку того самого ''secure ripping''. Реально же при чтении повреждённого диска лучше использовать и то, и другое. По крайней мере при использовании ''cdparanoia'' и основанных на ней утилитах вроде RubiRipper, поскольку при отключении параноидального режима программа вообще никак не будет отслеживать ошибки чтения, а тупо будет читать по много раз данные абы как и дальше исключительно статистически их обрабатывать. | ||
+ | |||
+ | В качестве резюме: если вы считали пару раз диск ''cdparanoia'' без отключённого режима точного считывания (т.е без -Y или -Z опций) **без ошибок** и получили одинаковые образы - можете быть уверены в их точности не менее, чем при использовании любых других программ чтения. | ||
+ | </note> | ||
+ | |||
+ | Обратите, кстати, внимание на смайлы состояния процесса чтения ''cdparanoia''. Они как раз и сообщают о найденных ошибках чтения и проблемах. Посмотреть их значения можно набрав | ||
man cdparanoia | man cdparanoia | ||
Строка 78: | Строка 100: | ||
- Во-вторых из диска, сохранённого в виде одного файла, никаким образом не достать одну песню. | - Во-вторых из диска, сохранённого в виде одного файла, никаким образом не достать одну песню. | ||
- | На самом деле разрезать можно как до сжатия выбранным кодеком, так и после. | + | На самом деле разрезать можно как до сжатия выбранным кодеком, так и после. Об этом чуть позже, сначала про кодирование. |
+ | |||
+ | ===== Кодирование ===== | ||
+ | |||
+ | Для сжатия ''wav'' файла в различные форматы в Linux существуют несколько утилит. | ||
+ | |||
+ | Для ''flac'': | ||
+ | |||
+ | flac -8 -o file.flac file.wav | ||
+ | Для ''ogg'': | ||
+ | |||
+ | oggenc -q 7 file.wav | ||
+ | Для ''mp3'': | ||
+ | |||
+ | lame -h -b 320 file.wav file.mp3 | ||
+ | |||
+ | Команды приведены с оптимальными опциями кодирования, за подробностями обращайтесь к документации по утилитам. | ||
+ | |||
+ | ===== Разрезание lossless образа на треки ===== | ||
+ | |||
+ | Во-первых ''wav'' - это тоже lossless формат, поэтому по инструкции из этого параграфа можно резать как ''wav'', так и ''flac''. | ||
+ | |||
+ | Вам потребуется установить два пакета: ''cuetools'' и ''shntool''. Ну и кроме того вам понадобится кодек ''flac'' из одноимённого пакета. | ||
+ | |||
+ | Для разрезки ''wav'' файла по информации из ''cue'' можно использовать команду: | ||
+ | |||
+ | cuebreakpoints disk.cue | shnsplit -o wav CDImage.wav | ||
+ | |||
+ | Тоже для ''flac'': | ||
+ | |||
+ | cuebreakpoints disk.cue | shnsplit -o flac CDImage.flac | ||
- | | + | ===== Разрезание lossy образа на треки ===== |
+ | Для разрезания ''ogg'' и ''mp3'' файлов по ''cue'' файлу существует утилита ''mp3splt'', поставить которую можно из одноимённого пакета. | ||
+ | |||
+ | Разрезать ''ogg'' по ''cue'' можно так: | ||
+ | |||
+ | oggsplt -c disk.cue CDImage.ogg | ||
+ | Или ''mp3'': | ||
+ | |||
+ | mp3splt -c disk.cue CDImage.ogg | ||
+ | |||
+ | ===== Прописывание тегов ===== | ||
+ | |||
+ | Итак, вы получили разрезанный на треки образ диска, закодированный в нужный формат. Дело за малым - прописать теги. Теги для ''flac'', ''ogg'' и ''mp3'' можно заполнить из ''cue'' файла командой: | ||
+ | |||
+ | cuetag sample.cue split-track01.flac split-track02.flac split-track03.flac split-track04.flac | ||
+ | |||
+ | Т.е. вам надо указать ''cue'' файл и файлы всех треков. Можно использовать шаблон: | ||
+ | |||
+ | cuetag sample.cue split-track*.flac | ||
+ | |||
+ | Но в любом случае вам придётся скорее всего вручную дописывать теги. Для этого великолепно подходит программа ''EasyTag'', доступная в репозиториях. Она имеет простой и понятный GUI-интерфейс, надеюсь, вы разберётесь. | ||
+ | |||
+ | ===== Ссылки ===== | ||
+ | |||
+ | * [[http://forum.ubuntu.ru/index.php?topic=101600|Обсуждение статьи на форуме]] | ||
+ | * [[http://xiph.org/paranoia/|Официальный сайт cdparanoia]] | ||
+ | * [[http://www.accuraterip.com/driveoffsets.htm|База данных оффсетов приводов ]] | ||
+ | * [[http://mp3splt.sourceforge.net|Страница mp3splt]] | ||
+ | * [[http://digitalx.org/cuesheetsyntax.php|Синтаксис cue]] | ||
+ | |||
+ | {{tag> Мультимедиа HOWTO Audio-CD cue flac cdparanoia cdrdao lame рип EasyTag}} |