Снятие копии аудиодисков Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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}} ​