13

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

4

3 回答 3

18

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 -算法.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

于 2009-06-07T18:14:29.230 回答
3

如果您只想要音频的幅度谱,请使用jAudio API

它提供了计算 MS 的类。

于 2010-03-10T20:45:11.137 回答
3

@Sher 的链接现在已断开。有一个用于相同目的的 API http://code.google.com/p/musicg/

于 2011-11-10T09:36:45.173 回答