【发布时间】:2010-11-01 00:53:00
【问题描述】:
我正在尝试处理音频数据。我正在使用 Java。 我已将音频数据提取到一个数组中。现在我应该将 N 个数据样本传递给一个计算离散傅里叶变换(或快速傅里叶变换,效率更高)的函数。我已经阅读了文档,但我越来越困惑。我要计算的是幅度谱(|X(k)|)。 谁能帮我?谢谢
【问题讨论】:
我正在尝试处理音频数据。我正在使用 Java。 我已将音频数据提取到一个数组中。现在我应该将 N 个数据样本传递给一个计算离散傅里叶变换(或快速傅里叶变换,效率更高)的函数。我已经阅读了文档,但我越来越困惑。我要计算的是幅度谱(|X(k)|)。 谁能帮我?谢谢
【问题讨论】:
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
【讨论】:
如果您只想要音频的幅度谱,请选择jAudio API。
它提供了计算 MS 的类。
【讨论】:
@Sher 的链接现在已断开。有一个用于相同目的的 API http://code.google.com/p/musicg/
【讨论】: