Если вы присмотритесь к документации computeSpectrum () , вы увидите
второй параметр устанавливает режим FFT.
БПФ означает FastFourierTransform, в основном, если вы используете БПФ над сигналом, вы переходите в частотную область, что означает, что вместо необработанных значений у вас есть значения, отсортированные по частоте.
Все, что вам нужно изменить в своем коде:
SoundMixer.computeSpectrum(_testbytes, true);
Теперь в _testbytes у вас будет 512 значений, 256 для левого канала и 256 для правого канала. Для каждого канала числа сортируются по частотам: от низкого до высокого (я думаю, низкий, средний-низкий, средний-высокий, высокий).
Вот и все, теперь у вас есть частоты. SoundTransform имеет громкость, что является еще одним способом сказать амплитуду, я думаю. Если вы хотите выполнить Math.max () на некоторых из этих частот или leftPeak и rightPeak, сделайте это.
Если вы хотите заняться этим, просто посмотрите FFT в википедии или DSP (Цифровая обработка сигналов) или Обработка звука, в противном случае документации as3 для computeSpectrum должно быть достаточно.
Что касается частоты дискретизации, это круто, как библиотека , кажется, делает тяжелую работу за вас.
НТН,
George