IFFT Inverse Fast Fourier Transform


IFFT.new(chain, wintype, winsize)


The fast fourier transform analyzes the frequency content of a signal. The IFFT UGen converts this frequency-domain information back into time-domain audio data. Most often this is used as the end of a process which begins with FFT, followed by frequency-domain processing using PV (phase-vocoder) UGens, followed by IFFT.


chain - The FFT "chain" signal coming originally from an FFT UGen, perhaps via other PV UGens.

wintype - defines how the data is windowed:

-1 is for rectangular windowing, simple but typically not recommended; 

0 (the default) is for Sine windowing, typically recommended for phase-vocoder work; 

1 is for Hann windowing, typically recommended for analysis work.

winsize - can be used to account for zero-padding, in the same way as the FFT UGen.


The IFFT UGen converts the FFT data in-place (in the original FFT buffer) and overlap-adds the result to produce a continuous signal at its output.


See also: FFT Overview, FFT, PV_Copy



s = Server.local; 

b = Buffer.alloc(s,2048,1);


SynthDef("help-noopFFT", { arg out=0,bufnum=0;

var in, chain;

in = WhiteNoise.ar(0.01);

chain = FFT(bufnum, in);

chain.inspect; // its an FFT

Out.ar(out, 

IFFT(chain) // inverse FFT

);

}).play(s,[\out,0,\bufnum,b]);


See FFT for more examples.