AcurateRip — это онлайновая база данных точного риппинга. Путём сравнения снимаемых данных с данными, загруженными пользователями со всего мира, обеспечивается верификации побитово точного риппинга. Кроме того, БД AccurateRip позволяет определять смещение чтения (read offset) приводов.
AccurateRip поддерживается Illustrate Ltd., управляемой Spoon, главным разработчиком dBpoweramp. Все данные загружаются программами-рипперами для Windows dBpoweramp и Exact Audio Copy (с помощью DLL лицензированного Illustrate). Другие рипперы и утилиты, например, CUETools и программы Mac OS, могут получать данные из БД для проверки качества, однако не могут отправлять в неё собственные результаты.
Смещение чтения
Очень немногие CD-приводы в действительности начинают чтение данных CD Audio с сектора, запрошенного программой-экстрактором. Есть программы, которые имеют погрешность в один сектор (1/75 секунды), однако большинство имеет погрешность значительно меньшую (1/250 или 1/350 секунды). Многие современные CD-приводы поддерживают технологию «Accurate Stream», которая практически полностью исключает возможность джиттера, и таким образом смещение является фиксированным при каждом чтении, а также одинаково для приводов одной модели.
С помощью базы данных AccurateRip можно определить смещение чтения, которое как правило одинаково для приводов одной марки/модели. Впоследствии это значение может быть использовано приложением-экстрактором для того чтобы каждый трек был снят в точности с того места, где он начинается, и заканчивая его фактическим окончанием.
Смещение указывается в семплах. Один семпл Audio CD равен 4-м байтам (2 байта левого канала и 2 байта правого). 2352 байта, или 588 семплов составляют один сектор Audio CD, соответствующий 1/75 секунды звучания. Таким образом, смещение +134 означает, что привод стабильно читает данные на 536 байтов ранее, чем указано в запросе — потому для получения запрашиваемых данных программа-экстрактор должна компенсировать эту особенность положительным смещением.
Когда используется смещение, может возникнуть ситуация, в которой экстрактор запросит у привода чтение областей диска lead-in или lead-out , в которых аудио-данные отсутствуют. У некоторых приводов такая возможность отсутствует, другие попытаются выполнить чтение, но возвратят ошибку, третьи просто возвратят нулевые семплы (цифровую тишину). Если привод не имеет возможности оверридинга, для извлекаемого трека могут быт прочитаны не все семплы. Программа в таких случаях может выполнить коррекцию путём дополнения трека цифровой тишиной до его исходной продолжительности.
Точность смещения
Определить реальное смещение привода весьма непросто. Образцовые измерения, выполненные Андре Витофом, которые изначально были приняты за основы БД AccurateRip, были оспорены в 2006 году: службе поддержки были предъявлены неоспоримые доказательства того, что все результаты смещены на +30 семплов. Т. е. смещение оказалось на 30 семплов меньше, чем ожидалось, и таким образом коррекция была выполнена на 30 семплов больше, чем требовалось. Витоф понял, что менять образцовые данные слишком поздно, так как база данных уже набрала популярность. Впрочем, так как все отправляемые данные были откалиброваны таким же образом, а ошибка не так уж значительна, достоверность данных AccurateRip никоим образом не нарушилась.
Контрольные суммы треков
Как только все семплы трека прочитаны и записаны в файл WAV, можно выполнить расчет контрольной суммы данных. Идентичные данные дают идентичные контрольные суммы. Если данные отличаются хотя бы на бит, контрольные суммы обычно различаются на большие значения. Контрольные суммы треков, полученных с одинаковых дисков одной штамповки, при правильно установленных корректировках смещения, могут сравниваться для проверки безошибочности чтения. То есть, если вы сняли трек с диска и обнаружили, что контрольная сумма совпадает с полученной кем-то ранее, вы можете быть уверены, что никаких потерянных или неправильных семплов в прочитанных данных нет (или же вы получили данные поврежденные точно таким же образом, что практически невозможно).
База данных AccurateRip содержит более двух миллионов дисков. Программы могут использовать эту информацию для выявления необходимости повторного чтения треков (в случае несовпадения контрольных сумм).
Подсчет контрольных суммТехнические подробности алгоритма расчета указаны на этой странице: AccurateRip-CRC-Calculation.
Каждая контрольная сумма AccurateRip основывается на полном рипе трека — от его начала и до конца, в соответствии с данными указанными в TOC (table of contents) диска. Это значит, что любая тишина или зазор в начале (за исключением первого трека) или в конце трека должны быть включены в рип. Если ваша программа-экстрактор вырезает тишину или делает с зазорами что-то кроме присоединения их к предыдущему треку (как это обычно бывает при снятии рипа без учета зазоров), вряд ли полученные суммы будут отправлены или будут сравниваться с данными в AccurateRip.
Алгоритм расчета CRC игнорирует начальные 2939 семплов (чуть менее 5 фреймов, чуть более 0.013 с) первого трека и 2940 семплов (ровно 5 фреймов) в конце последнего трека. Максимальное смещение привода в БД на конец 2011 года составляет всего 1776 семплов, таким образом, когда привод с откорректированным смещением выполняет оверридинг за пределами аудио-данных, это не влияет на контрольные суммы. Если оверридинг превышает 2940 семплов, алгоритм считает, что данные дополнены цифровой тишиной. Если ваш привод не поддерживает оверридинг и ваша программа-экстрактор не дополняет данные нулями для имитации оверридинга, скорей всего полученные CRC учтены не будут.
Оптимизация, использовавшаяся в первой версии AccurateRip приводила к непреднамеренной потере точности: около 3% данных не было учтено в контрольных суммах. В дальнейшем алгоритм был улучшен и технология получила название AccurateRip v2 (на сегодня используется программами по умолчанию, отдельно от AccurateRip v1).
Штамповки
Штамповкой в терминологии AccurateRip называется группа идентичных Audio CD, изготовленных на заводе-штамповщике одной партией. Другая партия, выполненная в другое время, как правило имеет другое смещение. Это объясняется особенностями подготовки матричного диска для штампующих машин. Кроме этого смещения, данные на дисках различных штамповок идентичны. Изначально AccurateRip могла сравнивать результаты только для конкретных штамповок (одинаковое смещение, одинаковые данные), хотя процедура калибровки позволяет использовать альтернативные штамповки. В одно из обновлений CUETools был включен математический алгоритм, позволяющий быстро проверить рип с использованием данных по различным штамповкам. В дальнейшем это усовершенствование было включено в AccurateRip v2.
Информация от спонсора
Интернет-магазин NEOCOM: аудио/видео, компьютерная, бытовая техника, аксессуары. Здесь Вы можете приобрести качественную bluetooth гарнитура телефон. Гарантия на все товары. Оплата наличным или безналичным платежом.
https://www.hydrogenaud.io/forums/index.php?showtopic=110228
Более того, если почитать по ссылке от greynol'а, (http://club.myce.com/f61....-111913) (кстати, эта же ссылка фигурирует и в "неоспоримых доказательствах")можно понять, что смещение не положением лазера относительно диска вызвано.
Насколько мне удалось понять из прочитанного - смещение возникает из-за того, что информация о том, что пора считывать аудио данные содержится в q-канале, при этом сам канал не синхронизирован с аудио данными, т.е. смещён относительно них. Причём на разных дисках на разную величину, т.к. в стандарте (red book) не указано, как q-канал дожен синхронизироваться с аудио данными. Поэтому и на всех приводах разное "смещение", ведь стандарта-то нет.