2012-02-25 18 views
0

В Wiki «динамический диапазон» определяется как «отношение амплитуды самой громкой возможной неискаженной синусоидальной волны к среднеквадратичной (среднеквадратичной) амплитуде шума», но я не понимаю, как использовать эти операнды.Как рассчитать динамический диапазон звука?

Я прочитал в несжатом файле .wav. Он использует 16 бит на выборку, и я преобразовал эти байты в целые числа (может варьироваться от -32768 до 32767). Самый большой int - 31692 и самый маленький -32764. Итак, что мне делать дальше? Я видел формулу «20 * log (высокий/низкий)», и она, похоже, не работает напрямую. Не могли бы вы показать мне шаги расчета? Благодарю.

+0

Я не думаю, что имеет смысл тестировать динамический диапазон вашего аудиофайла с использованием определения Википедии. То есть для вычисления таких данных, как отношение сигнал/шум (например, тестирование микрофонов, динамиков и т. Д.), И для понимания требуется фон в обработке сигналов. Вы уверены, что ищете динамический диапазон аудиофайла, а не что-то еще? – Anthony

+0

@ Энтони Спасибо. Это один из моих проектных вопросов. Он читает в wav-файле и отображает его динамический диапазон. В нем говорится, что «динамический диапазон определяется как отношение между максимальной мощностью против самой низкой мощности (отличной от нуля) в потоке, измеренной в децибеле». – goldfrapp04

ответ

1

Я решил эту проблему. На самом деле работает «20 * log (высокий/низкий)». «high» должен быть абс (-32764) = 32764, а low должен быть значением, наиболее близким к 0, но не 0, что равно 1 в моем файле. Таким образом, динамический диапазон 20 * log10 (32764/1) = 90 дБ.

 Смежные вопросы

  • Нет связанных вопросов^_^