简体   繁体   中英

Processing Audio Data using Fourier Transforms in Java

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

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:

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

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

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

It provides class for calculating MS.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM