Как компьютеры обрабатывают аудиоданные?
Я использовал несколько аудиопрограмм, таких как микшер SDL, смелость и т.д., но я хочу посмотреть, что внутри этих маленьких звуковых игрушек. Как обрабатываются аудиоданные и тому подобное. Я также видел несколько примеров кода MP3-плеера на С++, который использует void*
для аудиоданных.
Но все это не помогает мне в целом понять, как аудио работает на компьютере. Так может кто-нибудь объяснить мне (или представить мне несколько книг) о том, как компьютеры хранят и обрабатывают цифровые аудиоданные? (например, если вы храните треугольную форму волны в WAV файл, как этот сигнал формируется как бит-шаблон?)
Ответы
Ответ 1
Как представлены формы сигналов
Более подробное объяснение того, как аудио представлено в Руководство Audacity:
![Waveform]()
... высота каждой вертикальной линии представлена в виде знакового числа.
Подробнее о цифровом аудио
- В вики Audacity есть информация о о том, как работают алгоритмы в Audacity. Если в Audacity есть определенный аудиоэффект, о котором вы хотите узнать больше, это еще не охвачено, вы можете оставить там вопрос.
- Если вы смотрите на исходный код, хороший способ начать эффект эха. li >
- Чтобы узнать больше о цифровом аудио, нажмите кнопки Википедии для ссылок, которые вас интересуют: эта страница, Те, что находятся у подножия этой страницы, особенно полезны для углубления в различные форматы аудиофайлов, которые находятся там.
Вы можете заметить, что все эти ссылки взяты из проекта Audacity. Это не совпадение.
Ответ 2
Пример вашего WAV файла:
WAV файл будет иметь заголовок, который указывает ключевую информацию проигрывателю или аудиопроцессору о количестве каналов, частоте дискретизации, глубине бита, длине данных и т.д. После того, как заголовок содержит исходный бит-шаблон, который хранит (я предполагаю, что вы знаете, что такое выборка - если нет, см. Википедию). Каждый образец состоит из нескольких байтов (указанных в заголовке) и определяет амплитуду формы волны в любой данный момент времени. Каждый образец может быть сохранен в подписанной или неподписанной форме (также указанной в заголовке).
Ответ 3
Цифровой звук хранится как последовательность чисел, называемых образцами. Пример:
5, 18, 6, -4, -12, -3, 7, 14, 4
Поместите эти числа в виде точек на картезианском графе: значение выборки определяет положение вдоль оси Y, а порядковый номер образца (0, 1, 2, 3 и т.д.) определяет положение вдоль оси X.
Теперь проследите линию через точки, которые вы только что нарисовали.
Поздравляем, вы только что отобразили форму вашего цифрового звука.: -)
Ось Y - это амплитуда, а ось X - время.
"Частота дискретизации" определяет, как быстро воспроизводящее устройство (например, звуковая карта) продвигается по образцам. Это "значение времени" образца. Например, цифровой звук качества CD проходит через 44 100 выборок каждую секунду, считывая амплитуду (значение оси Y) в каждой точке выборки.
† В приведенном выше обсуждении игнорируется сжатие. Сжатие мало меняет сущность цифрового звука. Подобно тому, как перетаскивание растрового изображения не меняет основной характер растрового изображения. (Тема сжатия звука - богатая - я не хочу, чтобы упростить ее, просто чтобы весь сжатый звук в конечном итоге был несжатым до того, как он будет визуализирован, т.е. Воспроизведен как звуковой сигнал или нарисован как форма волны - при что указывает на то, что его сжатое происхождение не имеет большого значения.)
Ответ 4
Вы можете прочитать эту лекцию из Lothar Reichel, где он немного объясняет тему "Сжатие цифрового звука", и опубликовать код Matlab:
Звук - сложное явление. Обычно это вызвано движущимся объектом в воздухе (или другой средой), например, конусом громкоговорителя, движущимся взад и вперед. Движение в свою очередь вызывает колебания давления воздуха, которые распространяются по воздуху, как волны в пруду. Наши барабанные перепонки преобразуют изменения давления в явление, которое наш мозг обрабатывает как звук.
Компьютеры "слышат" звуки, используя микрофон вместо барабанной перепонки. Микрофон преобразует изменения давления в электрический потенциал с амплитудой, соответствующей интенсивности давления. Затем компьютер обрабатывает электрический сигнал, используя технику, называемую выборкой. Компьютеры сэмплируют сигнал, измеряя его амплитуду через регулярные интервалы, часто 44 100 раз в секунду. Каждое измерение сохраняется как число с фиксированной точностью, часто 16 бит.
Компьютеры испускают звук, более или менее обращая вспять описанный выше процесс. Образцы подают в устройство, которое генерирует электрический потенциал, пропорциональный значениям образца. Динамик или другое подобное устройство может затем преобразовывать электрический сигнал в изменения давления воздуха. Скорость, с которой проводятся измерения, называется скоростью выборки. Общая частота дискретизации составляет 44 100 раз в секунду (используется компакт-диск или CD, аудио). Битовая скорость набора цифровых аудиоданных - это хранение в битах, необходимое для каждой секунды звука. Если данные имеют фиксированную частоту дискретизации и точность (как и аудио CD), скорость передачи битов - просто их произведение. Например, скорость передачи одного канала аудио CD составляет 44 100 сэмплов/секунду × 16 бит/сэмпла = 705 600 бит/с. Скорость передачи данных является общей мерой хранения и не всегда является просто результатом частоты дискретизации и точности. Например, мы обсудим способ кодирования данных с переменной точностью.
Надеюсь, поможет.