使用Java中的傅立叶变换处理音频数据

时间:2021-12-20 19:41:15

I'm trying to process audio data. I'm working with Java. I've extracted the audio data to an array. Now I should pass N data samples to a function that calculates the Discrete Fourier Transform (or Fast Fourier Transform, which is more efficient). I've read documentation but I'm getting more and more confused. What I'm trying to calculate is the magnitude spectrum (|X(k)|). Can anyone help me? Thanks

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

3 个解决方案

#1


Richard G. Baldwin has a number of very good articles on Fast Fourier Transform algorithms in Java on the Developer.com website. In particular, the following articles should prove to be useful:

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

Fun with Java, Understanding the Fast Fourier Transform (FFT) Algorithm 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/3457251/Fun-with-Java-Understanding-the-Fast-Fourier-Transform-FFT -Algorithm.htm

Spectrum Analysis using Java, Sampling Frequency, Folding Frequency, and the FFT Algorithm http://www.developer.com/java/other/article.php/3380031/Spectrum-Analysis-using-Java-Sampling-Frequency-Folding-Frequency-and-the-FFT-Algorithm.htm

使用Java,采样频率,折叠频率和FFT算法进行频谱分析http://www.developer.com/java/other/article.php/3380031/Spectrum-Analysis-using-Java-Sampling-Frequency-Folding-Frequency -and-的-FFT-Algorithm.htm

#2


If you only want Magnitude Spectrum of audio, go for jAudio API.

如果您只想要音频的Magnitude Spectrum,请选择jAudio API。

It provides class for calculating MS.

它提供了计算MS的类。

#3


The link from @Sher is broken now. There is an API for the same purpose http://code.google.com/p/musicg/

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

#1


Richard G. Baldwin has a number of very good articles on Fast Fourier Transform algorithms in Java on the Developer.com website. In particular, the following articles should prove to be useful:

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

Fun with Java, Understanding the Fast Fourier Transform (FFT) Algorithm 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/3457251/Fun-with-Java-Understanding-the-Fast-Fourier-Transform-FFT -Algorithm.htm

Spectrum Analysis using Java, Sampling Frequency, Folding Frequency, and the FFT Algorithm http://www.developer.com/java/other/article.php/3380031/Spectrum-Analysis-using-Java-Sampling-Frequency-Folding-Frequency-and-the-FFT-Algorithm.htm

使用Java,采样频率,折叠频率和FFT算法进行频谱分析http://www.developer.com/java/other/article.php/3380031/Spectrum-Analysis-using-Java-Sampling-Frequency-Folding-Frequency -and-的-FFT-Algorithm.htm

#2


If you only want Magnitude Spectrum of audio, go for jAudio API.

如果您只想要音频的Magnitude Spectrum,请选择jAudio API。

It provides class for calculating MS.

它提供了计算MS的类。

#3


The link from @Sher is broken now. There is an API for the same purpose http://code.google.com/p/musicg/

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