|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectddf.minim.analysis.FourierTransform
ddf.minim.analysis.FFT
public class FFT
FFT stands for Fast Fourier Transform. It is an efficient way to calculate the Complex
Discrete Fourier Transform. There is not much to say about this class other than the fact
that when you want to analyze the spectrum of an audio buffer you will almost always use
this class. One restriction of this class is that the audio buffers you want to analyze
must have a length that is a power of two. If you try to construct an FFT with a
timeSize
that is not a power of two, an IllegalArgumentException will be
thrown.
FourierTransform
,
The Fast Fourier TransformField Summary |
---|
Fields inherited from class ddf.minim.analysis.FourierTransform |
---|
averages, avgPerOctave, bandWidth, BARTLETT, BARTLETTHANN, COSINE, HAMMING, HANN, imag, LANCZOS, LINAVG, LOGAVG, NOAVG, NONE, octaves, real, sampleRate, spectrum, timeSize, TRIANGULAR, TWO_PI, whichAverage, windowFunction |
Constructor Summary | |
---|---|
FFT(int timeSize,
float sampleRate)
Constructs an FFT that will accept sample buffers that are timeSize long and have been recorded with a sample rate of
sampleRate . |
Method Summary | |
---|---|
protected void |
allocateArrays()
|
void |
forward(float[] buffer)
Performs a forward transform on buffer . |
void |
forward(float[] buffReal,
float[] buffImag)
Performs a forward transform on the passed buffers. |
void |
inverse(float[] buffer)
Performs an inverse transform of the frequency spectrum and places the result in buffer . |
void |
scaleBand(int i,
float s)
Scales the amplitude of the ith frequency band
by s . |
void |
setBand(int i,
float a)
Sets the amplitude of the ith frequency band to
a . |
Methods inherited from class ddf.minim.analysis.FourierTransform |
---|
avgSize, calcAvg, doWindow, fillSpectrum, forward, forward, forward, freqToIndex, getAverageCenterFrequency, getAvg, getBand, getBandWidth, getFreq, indexToFreq, inverse, inverse, linAverages, logAverages, noAverages, scaleFreq, setComplex, setFreq, specSize, timeSize, window |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FFT(int timeSize, float sampleRate)
timeSize
long and have been recorded with a sample rate of
sampleRate
. timeSize
must be a
power of two. This will throw an exception if it is not.
timeSize
- the length of the sample buffers you will be analyzingsampleRate
- the sample rate of the audio you will be analyzingMethod Detail |
---|
protected void allocateArrays()
allocateArrays
in class FourierTransform
public void scaleBand(int i, float s)
FourierTransform
ith
frequency band
by s
. You can use this to shape the spectrum before using
inverse()
.
scaleBand
in class FourierTransform
i
- the frequency band to modifys
- the scaling factorpublic void setBand(int i, float a)
FourierTransform
ith
frequency band to
a
. You can use this to shape the spectrum before using
inverse()
.
setBand
in class FourierTransform
i
- the frequency band to modifya
- the new amplitudepublic void forward(float[] buffer)
FourierTransform
buffer
.
forward
in class FourierTransform
buffer
- the buffer to analyzepublic void forward(float[] buffReal, float[] buffImag)
buffReal
- the real part of the time domain signal to transformbuffImag
- the imaginary part of the time domain signal to transformpublic void inverse(float[] buffer)
FourierTransform
buffer
.
inverse
in class FourierTransform
buffer
- the buffer to place the result of the inverse transform in
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |