#include <fftw3.h>
Include dependency graph for fft.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Defines | |
#define | FFTW_TYPE double |
fft data type | |
Typedefs | |
typedef FFTW_TYPE | fft_data_t |
fft data type | |
typedef _aubio_fft_t | aubio_fft_t |
FFT object. | |
typedef _aubio_mfft_t | aubio_mfft_t |
FFT object (using cvec). | |
Functions | |
aubio_fft_t * | new_aubio_fft (uint_t size) |
create new FFT computation object | |
void | del_aubio_fft (aubio_fft_t *s) |
delete FFT object | |
void | aubio_fft_do (const aubio_fft_t *s, const smpl_t *data, fft_data_t *spectrum, const uint_t size) |
compute forward FFT | |
void | aubio_fft_rdo (const aubio_fft_t *s, const fft_data_t *spectrum, smpl_t *data, const uint_t size) |
compute backward (inverse) FFT | |
void | aubio_fft_getnorm (smpl_t *norm, fft_data_t *spectrum, uint_t size) |
compute norm vector from input spectrum | |
void | aubio_fft_getphas (smpl_t *phase, fft_data_t *spectrum, uint_t size) |
compute phase vector from input spectrum | |
aubio_mfft_t * | new_aubio_mfft (uint_t winsize, uint_t channels) |
create new FFT computation object | |
void | aubio_mfft_do (aubio_mfft_t *fft, fvec_t *in, cvec_t *fftgrain) |
compute forward FFT | |
void | aubio_mfft_rdo (aubio_mfft_t *fft, cvec_t *fftgrain, fvec_t *out) |
compute backward (inverse) FFT | |
void | del_aubio_mfft (aubio_mfft_t *fft) |
delete FFT object |
typedef struct _aubio_fft_t aubio_fft_t |
FFT object.
This object computes forward and backward FFTs, using the complex type to store the results. The phase vocoder or aubio_mfft_t objects should be preferred to using directly aubio_fft_t. The FFT are computed using FFTW3 (although support for another library could be added).
typedef struct _aubio_mfft_t aubio_mfft_t |
FFT object (using cvec).
This object works similarly as aubio_fft_t, except the spectral data is stored in a cvec_t as two vectors, magnitude and phase.
void aubio_fft_do | ( | const aubio_fft_t * | s, | |
const smpl_t * | data, | |||
fft_data_t * | spectrum, | |||
const uint_t | size | |||
) |
compute forward FFT
s | fft object as returned by new_aubio_fft | |
data | input signal | |
spectrum | output spectrum | |
size | length of the input vector |
void aubio_fft_getnorm | ( | smpl_t * | norm, | |
fft_data_t * | spectrum, | |||
uint_t | size | |||
) |
compute norm vector from input spectrum
norm | magnitude vector output | |
spectrum | spectral data input | |
size | size of the vectors |
void aubio_fft_getphas | ( | smpl_t * | phase, | |
fft_data_t * | spectrum, | |||
uint_t | size | |||
) |
compute phase vector from input spectrum
phase | phase vector output | |
spectrum | spectral data input | |
size | size of the vectors |
void aubio_fft_rdo | ( | const aubio_fft_t * | s, | |
const fft_data_t * | spectrum, | |||
smpl_t * | data, | |||
const uint_t | size | |||
) |
compute backward (inverse) FFT
s | fft object as returned by new_aubio_fft | |
spectrum | input spectrum | |
data | output signal | |
size | length of the input vector |
void aubio_mfft_do | ( | aubio_mfft_t * | fft, | |
fvec_t * | in, | |||
cvec_t * | fftgrain | |||
) |
compute forward FFT
fft | fft object as returned by new_aubio_mfft | |
in | input signal | |
fftgrain | output spectrum |
void aubio_mfft_rdo | ( | aubio_mfft_t * | fft, | |
cvec_t * | fftgrain, | |||
fvec_t * | out | |||
) |
compute backward (inverse) FFT
fft | fft object as returned by new_aubio_mfft | |
fftgrain | input spectrum (cvec) | |
out | output signal |
void del_aubio_fft | ( | aubio_fft_t * | s | ) |
delete FFT object
s | fft object as returned by new_aubio_fft |
void del_aubio_mfft | ( | aubio_mfft_t * | fft | ) |
delete FFT object
fft | fft object as returned by new_aubio_mfft |
aubio_fft_t* new_aubio_fft | ( | uint_t | size | ) |
create new FFT computation object
size | length of the FFT |
aubio_mfft_t* new_aubio_mfft | ( | uint_t | winsize, | |
uint_t | channels | |||
) |
create new FFT computation object
winsize | length of the FFT | |
channels | number of channels |