10

Если компакт-диск поврежден (например, если он помещен в проигрыватель компакт-дисков, он заикается и т.д.), Если вы скопируете его на свой компьютер для создания MP3, как будут звучать поврежденные данные?

Будет ли это просто "пустым" в середине трека? Или вы услышите искаженное аудио / статическое и т.д.?

Для ясности этот вопрос относится к чтению аудио с CD и кодированию в MP3, а не к чтению CD с данными, на котором есть MP3.

4 ответа4

39

Хорошее программное обеспечение для копирования компакт-дисков, такое как cdparanoia старается исправить неправильные показания с компакт-диска и будет многократно пересматривать затронутую часть; иногда в течение нескольких минут, пока данные не будут восстановлены. Это возможно, потому что компакт-диски содержат контрольные суммы для исправления ошибок и должны сразу же обнаружить неправильное прочтение.

Благодаря этой стратегии, программа для копирования CD имеет гораздо больше шансов на восстановление правильных данных, чем обычное устройство воспроизведения CD, которое предназначено для воспроизведения в режиме реального времени.

В редком случае, когда часть данных (которая в вашем примере будет аудио) остается нечитаемой, риппер обычно просто пропускает этот сегмент. Таким образом, с закодированным MP3-файлом он пропустит неправильный раздел (который может быть либо интерполирован, либо пропущен по звуку в результирующем аудиофайле).

14

Формат файла MP3 состоит из кадров. Каждый кадр начинается с одиннадцати "1" битов, а также пары байтов метаданных, управляющих скоростью передачи битов и определяющих некоторые другие атрибуты. Каждый кадр независим, он был разработан таким образом, чтобы поддерживать потоковую передачу.

Кадры могут иметь CRC - проверка ошибок. Это необязательно.

Скорее всего, операционная система повторит чтение, если обнаружит поврежденные сектора на CD (аппаратное обеспечение CD имеет свой собственный механизм проверки ошибок, прежде чем кодировщик MP3 даже увидит что-либо). Предполагая, что декодер не работает из буфера, декодер не получит новые данные во время этого процесса и должен будет остановиться. Если операционная система не может прочитать данные, она может сообщить об ошибке операционной системе, которая в конечном итоге будет сообщена процессу, в котором находится кодировщик MP3. От программного обеспечения зависит, что именно здесь происходит.

Пара возможных вещей может произойти, если данные с компакт-диска читаются неправильно и все еще поступают в декодер (это, вероятно, не произойдет на ПК, но может произойти в автомобильной стереосистеме или другом устройстве, не являющемся ПК):

  • MP3-декодер ищет эти одиннадцать бит, чтобы найти начало кадра - если он не находит их, он, вероятно, прекратит декодирование до следующего кадра.

  • Если данные заголовка плохие, он может воспроизвести кадр с неправильной скоростью передачи битов, поскольку байт указывает, какая скорость передачи может быть неправильной.

  • Если бит CRC заголовка установлен и CRC не совпадает, декодер, вероятно, выбросит кадр и не воспроизведет его. В большинстве файлов MP3 бит CRC не установлен.

  • Если полезная нагрузка (данные после заголовка) неверна, MP3-декодер попытается воспроизвести ее.

Работа декодера состоит в том, чтобы брать сжатые данные и генерировать несжатые данные для передачи на "верхний" уровень. Этот верхний уровень фактически использует несжатые данные для управления аудиоустройством. Я бы рискнул предположить, что большинство настроек кодировщиков / аудиодрайверов имеют буфер (с настраиваемым размером), где декодер MP3 может собирать некоторые данные для аудиодрайвера и разрешать повторные попытки чтения.

Итак, в любом случае, если декодер остановился из-за того, что не получает данные, верхний уровень, фактически управляющий звуком, может выполнить любое из следующих действий:

  • Верхний уровень выводит тишину. Вы услышите перерыв в аудио.
  • Декодер прекращает заполнять данные в аудиобуфере, но верхний уровень продолжает воспроизводить то, что есть. Аудио буферы, как правило, "круговые", что означает, что они не обнуляются, а постоянно перезаписываются новыми данными. Вы услышите пропуск, который является частью предыдущей аудиозаписи.
  • Верхний уровень умный и пытается интерполировать то, что "должно" быть там. Я не думаю, что это очень распространено.

Если декодер выводит неверные данные, вы услышите статический звук или треск в аудио.

Ссылка

3

В лучшем случае, рипперу удается получить достаточно данных, чтобы трек воспроизводился очень хорошо. Во втором лучшем случае он сдается и не производит звуковую дорожку, потому что не может. В худшем случае вы получите аудиофайл, который звучит так, как будто вы пытаетесь воспроизвести трек на обычном проигрывателе компакт-дисков или еще хуже (паузы, повторы, заикания, всплески и т.д.).

Мой опыт работы с рипперами на основе cdparanoia, как правило, был в основном наилучшим, но я столкнулся со всеми тремя сценариями.

0

У меня никогда не было одного со статикой. Не совсем "искаженный" - но он может играть одну и ту же полсекунду несколько раз. Обычно это происходит как раз перед тем, как пропустить несколько минут перед тем, как повторить цикл, или пропустить вперед и звучит так, будто вы удерживаете кнопку FF на мгновение. Любые "пробелы", вероятно, воспроизводят начало трека, поскольку он пропускает или повторяет цикл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .