Глядя на примеры Snack Sound Toolkit, похоже, есть функция dbPowerSpectrum.
Из обращения:
dBPowerSpectrum ()
Вычисляет логарифмический спектр мощности БПФ звука (по номеру сэмпла, указанному в опции запуска) и возвращает список значений в дБ. См. Элемент раздела для описания остальных опций. При желании можно указать конечную точку, используя опцию окончания. В этом случае результатом является среднее число последовательных БПФ в указанном диапазоне. Их интервал по умолчанию взят из длины fftlength, но это можно изменить с помощью опции пропуска, которая сообщает, сколько точек перемещать в окне FFT за каждый шаг. Опции:
РЕДАКТИРОВАТЬ: я предполагаю, когда вы говорите, амплитуда, вы имеете в виду, как "громкий" звук кажется человеку, а не напряжение во временной области (которое, вероятно, будет 0 по всей длине, поскольку интеграл синусоидальных волн быть равным 0. например: 10 * sin (t) громче, чем 5 * sin (t), но их среднее значение по времени равно 0. (Вы все равно не хотите отправлять не-переменные напряжения на динамик)).
Чтобы получить громкий звук, вам нужно определить амплитуды каждого частотного компонента. Это делается с помощью преобразования Фурье (FFT), которое разбивает звук на его частотные составляющие. Функция dbPowerSpectrum, кажется, дает вам список величин (простите, если это отличается от точного определения спектра мощности) каждой частоты. Чтобы получить общую громкость, вы можете просто суммировать весь список (который будет близок, хотя он все еще может отличаться от воспринимаемой громкости, поскольку человеческое ухо имеет сам частотный отклик).