вторник, 22 января 2013 г.

Точное копирование звуковых компакт-дисков. Часть 3.



Вычисление смещения, вносимого приводами

Наилучший способ определить смещение, вносимое приводом при чтении - воспользоваться специально для этого разработанной функцией EAC, вызываемой из формы параметров привода. Для этого необходимо раздобыть хотя бы один, а еще лучше - два-три эталонных компакт-диска, список которых приведен в файле eac.txt из дистрибутивного архива, а также - в файле eacdoc.pdf, который можно отдельно скачать с сайта. Диски лучше брать оригинальные (в списке указаны их выходные фирменные коды). Вставив эталонный диск в привод, нужно запустить его анализ кнопкой Detect read sample offset correction. Если диск опознан успешно, EAC попытается найти на нем эталонный фрагмент (passage), адрес которого заранее известен, и вычислить смещение, вносимое приводом.

Для надежности операцию нужно повторить несколько раз с каждым эталонным диском, и выбрать наиболее правдоподобную величину смещения. Полученное смещение заносится в параметры привода кнопкой Apply или вручную. Положительное смещение означает, что привод начинает чтение раньше, чем нужно, добавляя лишние отсчеты в начало фрагмента, отрицательное - что опаздывает, теряя начальные отсчеты.

Если эталонных дисков найти не удалось, можно записать несколько тестовых WAV-файлов с известным содержимым где-нибудь на приводе, который заведомо не вносит адресных погрешностей. Тогда разность между адресом начала фрагмента в считанном с диска файле и его началом в исходном файле даст величину смещения в байтах, а количество отсчетов получается из него делением на 4. Можно воспользоваться функцией Wave Compare в EAC, которая сама определит величину смещения.

И наконец, если нет доступа к другим пишущим приводам - остается воспользоваться величиной суммарного смещения (combined offset), вычисленной путем сравнения любого эталонного WAV-файла, записанного в приводе, с файлом, считанным с записанного диска. Однако в этом случае последующее копирование дисков должно выполняться полностью на этом приводе: сначала чтение, потом запись на нем же; использовать для чтения другой привод будет некорректно. Суммарное смещение заносится в поле Combined read/write sample offset, для активизации которого нужно переключить режим коррекции на Use combined read/write sample offset. В этом случае EAC будет корректировать смещение при чтении и расставлять адресные метки при записи таким образом, чтобы результирующие смещения чтения и записи были компенсированы заданным значением.

Автоматизировать процесс определения суммарного смещения можно при помощи программы CDSpeed99 (www.cdspeed2000.com), имеющей функцию создания тестового диска с последующим его анализом.

Запись диска

Наиболее популярные программы для записи дисков - Easy CD Creator (www.adaptec.com), WinOnCD (www.cequadrat.com), Nero (www.ahead.de) и т.п. - отлично справляются с записью и копированием дисков CD-ROM, но, к сожалению, очень плохо приспособлены для качественного копирования звуковых дисков. Как правило, эти программы выполняют чтение и запись звуковых данных простейшими способами, даже не пытаясь обнаруживать и корректировать погрешности приводов. Поэтому для точного копирования звуковых дисков удобнее всего пользоваться "связкой" из EAC и CDRWin (www.goldenhawk.com). В принципе, EAC тоже содержит все необходимые средства для записи дисков, однако эта часть программы пока недостаточно отлажена и часто зависает после окончания записи или стирания диска (хотя диск при этом записывается или стирается полностью и верно).

Возможно два способа копирования звуковых дорожек с диска на диск. В первом способе выбранные дорожки исходного диска читаются в набор WAV-файлов на винчестере, после чего полученные файлы в обычном порядке подаются любой программе записи звуковых дисков. Во втором способе формируется один сплошной образ (image) непрерывной звуковой дорожки, к которому создается индексная карта (CUE sheet), где указаны адреса начала каждой из отдельных дорожек диска. По сути, любой рекордер записывает на диск именно непрерывную дорожку, которая потом снабжается индексным указателем (оглавлением, или TOC). Другое дело, что большинство программ записи формируют TOC сами, не давая пользователю доступа к этому процессу.

Наиболее надежным является второй способ, при котором за раз считывается в файл весь образ исходного диска, и так же за раз записывается на диск-результат. Все, что нужно в этом случае для компенсации смещений - это скорректировать адресные метки, что автоматически сделает EAC при создании CUE Sheet. При копировании дисков, записанных без пауз, когда дорожки состыкованы без разрыва, лучше пользоваться именно этим способом. При копировании обычных дисков с паузами, можно пользоваться любым способом, но все равно желательно как можно точнее выставить величину смещения для компенсации.

"Снятие" образа и индексной карты с исходного диска выполняется в EAC функцией Copy image & Create CUE sheet. В результате создается WAV-файл, содержащий звуковые данные всего диска (с паузами или без пауз - как построен диск), и CUE-файл, содержащий адреса отдельных дорожек диска. Если диск был предварительно опознан через базу данных (CDDB) - в файле CUE будут прописаны также названия дорожек, вместе с названием автора/альбома.
Запись диска-результата из отдельных WAV-файлов можно делать практически любой программой записи. С осторожностью относитесь к Nero - версия 5.0 в моих экспериментах самовольно обрезала конец последней дорожки. Хорошие результаты при записи из готовых WAV-файлов всегда давал Easy CD Creator.
Запись из образа и карты выполняется либо в самом EAC - функцией Write CD-R, либо в CDRWin. И там, и там есть операция Load CUE Sheet - загрузка карты, после чего остается лишь указать скорость и запустить саму запись. В этом режиме запись всегда идет методом DAO (Disk-At-Once), когда паузы между дорожками создаются средствами программы, а не рекордера.
Для получения надежно читаемого бытовыми проигрывателями диска-копии лучше не увлекаться повышенными скоростями записи, ограничившись двукратной, или даже однократной. Тогда цепочка сформированных лазером питов будет наиболее четкой и долговечной.

Если вы владеете английским - постарайтесь внимательно прочитать документацию к EAC, там могут быть важные для вашей системы моменты. В частности, это касается использования режима DMA при работе с рекордером; иногда отключение DMA может помочь избавиться от "плавающих" ошибок.

При правильной настройке EAC и соблюдении всех перечисленных условий на выходе получится диск, дающий при чтении WAV-файлы с точно такими же длинами и содержимым, что и считанные с исходного диска. В ряде случаев возможно расхождение "хвостов" - размера и концевой части последней дорожки, однако эти различия будут за концевой меткой дорожки, что не отражается на ее звучании. Полные образы дисков в больших WAV-файлах, полученных посредством функции Create CUE Sheet, также будут совпадать. Корректно скопированный целиком диск будет также успешно опознаваться при запросах к централизованной базе данных (CDDB), так как для запроса используется совокупность адресов и длин всех звуковых дорожек диска, то есть - его индексная карта.

Тренироваться на этапе определения смещений, подбора оптимальных режимов и т.п. лучше всего на матрицах CD-RW, если у вас перезаписывающий привод. В противном случае можно испортить десятки обычных матриц, прежде чем система будет настроена, как надо. Перед записью матрицу CD-RW достаточно стереть в режиме Quick Erase, что занимает около минуты. Большинство современных приводов умеет воспроизводить (Play) матрицы CD-RW в формате CD-DA, как и другие звуковые диски, а иногда на это способны и бытовые проигрыватели; таким образом удобно проверять на слух правильность стыковки дорожек и расстановки пауз между ними.

Если вас преследуют хронические неудачи - "плавают" смещения, нет повторяемости и т.п. - можно попробовать обновить прошивку (firmware) привода. Найти обновления можно на сайте производителя привода, либо путем поиска в Интернет по марке привода и ключевым словам firmware, update, upgrade, drive и т.п. Перед запуском найденной программы обновления необходимо внимательно прочитать инструкцию и в точности следовать ее рекомендациям, иначе привод можно угробить насовсем.

По материалам статьи Е. Музыченко

Комментариев нет:

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