Csound and CsoundAC API  5.17
Functions
fftlib.h File Reference

Functions

void csoundComplexFFT (CSOUND *csound, MYFLT *buf, int FFTsize)
 Compute in-place complex FFT FFTsize: FFT length in samples buf: array of FFTsize*2 MYFLT values, in interleaved real/imaginary format.
MYFLT csoundGetInverseComplexFFTScale (CSOUND *csound, int FFTsize)
 Returns the amplitude scale that should be applied to the result of an inverse complex FFT with a length of 'FFTsize' samples.
MYFLT csoundGetInverseRealFFTScale (CSOUND *csound, int FFTsize)
 Returns the amplitude scale that should be applied to the result of an inverse real FFT with a length of 'FFTsize' samples.
void csoundInverseComplexFFT (CSOUND *csound, MYFLT *buf, int FFTsize)
 Compute in-place inverse complex FFT FFTsize: FFT length in samples buf: array of FFTsize*2 MYFLT values, in interleaved real/imaginary format Output should be scaled by the return value of csoundGetInverseComplexFFTScale(csound, FFTsize).
void csoundInverseRealFFT (CSOUND *csound, MYFLT *buf, int FFTsize)
 Compute in-place inverse real FFT FFTsize: FFT length in samples buf: array of FFTsize MYFLT values; input is expected to be in interleaved real/imaginary format, except for buf[1] which is the real part for the Nyquist frequency Output should be scaled by the return value of csoundGetInverseRealFFTScale(csound, FFTsize).
void csoundInverseRealFFTnp2 (CSOUND *csound, MYFLT *buf, int FFTsize)
 Compute in-place inverse real FFT, allowing non power of two FFT sizes.
void csoundRealFFT (CSOUND *csound, MYFLT *buf, int FFTsize)
 Compute in-place real FFT FFTsize: FFT length in samples buf: array of FFTsize MYFLT values; output is in interleaved real/imaginary format, except for buf[1] which is the real part for the Nyquist frequency.
void csoundRealFFTMult (CSOUND *csound, MYFLT *outbuf, MYFLT *buf1, MYFLT *buf2, int FFTsize, MYFLT scaleFac)
 Multiply two arrays (buf1 and buf2) of complex data in the format returned by csoundRealFFT(), and leave the result in outbuf, which may be the same as either buf1 or buf2.
void csoundRealFFTnp2 (CSOUND *csound, MYFLT *buf, int FFTsize)
 Compute in-place real FFT, allowing non power of two FFT sizes.

Function Documentation

void csoundComplexFFT ( CSOUND csound,
MYFLT buf,
int  FFTsize 
)

Compute in-place complex FFT FFTsize: FFT length in samples buf: array of FFTsize*2 MYFLT values, in interleaved real/imaginary format.

MYFLT csoundGetInverseComplexFFTScale ( CSOUND csound,
int  FFTsize 
)

Returns the amplitude scale that should be applied to the result of an inverse complex FFT with a length of 'FFTsize' samples.

MYFLT csoundGetInverseRealFFTScale ( CSOUND csound,
int  FFTsize 
)

Returns the amplitude scale that should be applied to the result of an inverse real FFT with a length of 'FFTsize' samples.

void csoundInverseComplexFFT ( CSOUND csound,
MYFLT buf,
int  FFTsize 
)

Compute in-place inverse complex FFT FFTsize: FFT length in samples buf: array of FFTsize*2 MYFLT values, in interleaved real/imaginary format Output should be scaled by the return value of csoundGetInverseComplexFFTScale(csound, FFTsize).

void csoundInverseRealFFT ( CSOUND csound,
MYFLT buf,
int  FFTsize 
)

Compute in-place inverse real FFT FFTsize: FFT length in samples buf: array of FFTsize MYFLT values; input is expected to be in interleaved real/imaginary format, except for buf[1] which is the real part for the Nyquist frequency Output should be scaled by the return value of csoundGetInverseRealFFTScale(csound, FFTsize).

void csoundInverseRealFFTnp2 ( CSOUND csound,
MYFLT buf,
int  FFTsize 
)

Compute in-place inverse real FFT, allowing non power of two FFT sizes.

The output does not need to be scaled.

buf: array of FFTsize + 2 MYFLT values, in interleaved real/imaginary format (note: the real part of the Nyquist frequency is stored in buf[FFTsize], and not in buf[1]). FFTsize: FFT length in samples; not required to be an integer power of two, but should be even and not have too many factors.

void csoundRealFFT ( CSOUND csound,
MYFLT buf,
int  FFTsize 
)

Compute in-place real FFT FFTsize: FFT length in samples buf: array of FFTsize MYFLT values; output is in interleaved real/imaginary format, except for buf[1] which is the real part for the Nyquist frequency.

void csoundRealFFTMult ( CSOUND csound,
MYFLT outbuf,
MYFLT buf1,
MYFLT buf2,
int  FFTsize,
MYFLT  scaleFac 
)

Multiply two arrays (buf1 and buf2) of complex data in the format returned by csoundRealFFT(), and leave the result in outbuf, which may be the same as either buf1 or buf2.

An amplitude scale of 'scaleFac' is also applied. The arrays should contain 'FFTsize' MYFLT values.

void csoundRealFFTnp2 ( CSOUND csound,
MYFLT buf,
int  FFTsize 
)

Compute in-place real FFT, allowing non power of two FFT sizes.

buf: array of FFTsize + 2 MYFLT values; output is in interleaved real/imaginary format (note: the real part of the Nyquist frequency is stored in buf[FFTsize], and not in buf[1]). FFTsize: FFT length in samples; not required to be an integer power of two, but should be even and not have too many factors.