在 Java 中使用傅里叶变换处理音频数据

2022-09-04 08:11:51

我正在尝试处理音频数据。我正在使用Java。我已将音频数据提取到数组中。现在,我应该将 N 个数据样本传递给一个函数,该函数计算离散傅里叶变换(或快速傅里叶变换,效率更高)。我已经阅读了文档,但我越来越困惑。我试图计算的是星等频谱(|X(k)|)。任何人都可以帮我吗?谢谢


答案 1

Richard G. Baldwin在 Developer.com 网站上发表了许多关于Java中快速傅里叶变换算法的非常好的文章。特别是,以下文章应该被证明是有用的:

使用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

如果你只想要音频的 Magnitude Spectrum,那就去 jAudio API

它提供了用于计算MS的类。


推荐