Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Processing Audio Data using Fourier Transforms in Java

Tags:

java

audio

fft

wav

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

like image 561
dedalo Avatar asked Jun 07 '09 18:06

dedalo


People also ask

How is FFT used in audio processing?

The "Fast Fourier Transform" (FFT) is an important measurement method in the science of audio and acoustics measurement. It converts a signal into individual spectral components and thereby provides frequency information about the signal.

Does MP3 use FFT?

With MP3, the sound samples are transformed using methods that involve Fourier Series Transformations.

What use does a Fourier analysis have in auditory science?

In the processing of audio signals (although it can be used for radio waves, light waves, seismic waves, and even images), Fourier analysis can isolate individual components of a continuous complex waveform, and concentrate them for easier detection and/or removal.


2 Answers

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

like image 193
Robert Harvey Avatar answered Oct 19 '22 04:10

Robert Harvey


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

It provides class for calculating MS.

like image 39
Sher Avatar answered Oct 19 '22 05:10

Sher