Как извлечь частоту из выборочных данных WAV?

Я разрабатываю приложение для чтения простых файлов WAV PCM. У меня вопрос: как мне интерпретировать выборки из блока данных, чтобы я мог извлечь частоту выборки?

Учитывая пример WAV, как исходные данные могут представлять частоты. Например, этот фрагмент данных, 24 17 1e f3, для стерео, 16 бит, выборка левого канала, 0x1724 = 5924d, означает 5924 Гц? Как это может быть, для образцов, которые подписаны или частоты, которые люди не могут услышать?

2 ответа

Решение

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

Я хотел бы предложить прочитать о том, как аудио представлено, в частности, PCM.

Чтобы преобразовать эти данные (амплитудно-временное) в частотные данные, вам необходимо понять основные понятия преобразования Фурье

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

Вы можете извлечь частоту дискретизации в заголовке WAV, но если вам нужны фактические частотные данные записанного звука, то есть, сколько энергии на частоте 200 Гц, сколько на частоте 2 кГц, сколько на частоте 8 кГц и т. Д. Вам нужно сделать БПФ, или запустить его через спектрограмму.

Другие вопросы по тегам