Обработка аудиоданных с использованием преобразований Фурье в 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.
Ответ 3
Теперь связь с @Sher нарушена. Существует API для той же цели http://code.google.com/p/musicg/