Обработка аудиоданных с использованием преобразований Фурье в Java

Я пытаюсь обрабатывать аудиоданные. Я работаю с Java. Я извлек аудиоданные в массив. Теперь я должен передать N выборок данных в функцию, которая вычисляет дискретное преобразование Фурье (или быстрое преобразование Фурье, которое является более эффективным). Я читал документацию, но я все больше запутался. То, что я пытаюсь вычислить, - это спектр амплитуд (| X (k) |). Может кто-нибудь мне помочь? Благодаря

Ответы

Ответ 1

Ричард Г. Болдуин имеет ряд очень хороших статей по быстрым алгоритмам преобразования Фурье в Java на сайте Developer.com. В частности, следующие статьи должны оказаться полезными:

Развлечения с Java, понимание алгоритма быстрого преобразования Фурье (FFT) http://www.developer.com/java/other/article.php/3457251/Fun-with-Java-Understanding-the-Fast-Fourier-Transform-FFT-Algorithm.htm

Анализ спектра с использованием Java, частоты дискретизации, частоты сгибания и алгоритма FFT http://www.developer.com/java/other/article.php/3380031/Spectrum-Analysis-using-Java-Sampling-Frequency-Folding-Frequency-and-the-FFT-Algorithm.htm

Ответ 2

Если вам нужен только спектр с амплитудой звука, перейдите jAudio API.

Он предоставляет класс для вычисления MS.