aubio
0.3.2
|
Fast Fourier Transform object. More...
#include <fftw3.h>
Go to the source code of this file.
Macros | |
#define | FFTW_TYPE double |
fft data type |
Typedefs | |
typedef FFTW_TYPE | fft_data_t |
fft data type | |
typedef struct _aubio_fft_t | aubio_fft_t |
FFT object. | |
typedef struct _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 |
Fast Fourier Transform 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 |