Pd++
0.01
A pure C++ implementation of Pure Data objects
|
Complex Fast Fourier Transform. More...
#include <cFFT.h>
Public Member Functions | |
complexFFT () | |
complexFFT (int) | |
double * | perform (double real, double imaginary) |
Public Member Functions inherited from PdMaster | |
void * | getbytes (size_t nbytes) |
void * | resizebytes (void *old, size_t oldsize, size_t newsize) |
void | freebytes (void *fatso, size_t nbytes) |
std::string | getPath () |
void | setSampleRate (unsigned long) |
unsigned long | getSampleRate () |
void | setBlockSize (int) |
int | getBlockSize () |
double | getTimeInSampleTicks () |
long | getTimeInMilliSeconds (double time) |
int | pdBigOrSmall (double f) |
void | cos_maketable () |
int | PD_BIGORSMALL (float f) |
void | setFFTWindow (int) |
int | getFFTWindow () |
double | mtof (double) |
double | ftom (double) |
double | powtodb (double) |
double | dbtopow (double) |
double | rmstodb (double) |
double | dbtorms (double) |
Public Member Functions inherited from FFT | |
void | mayer_fht (double *fz, int n) |
void | mayer_fft (int n, double *real, double *imag) |
void | mayer_ifft (int n, double *real, double *imag) |
void | mayer_realfft (int n, double *real) |
void | mayer_realifft (int n, double *real) |
Public Attributes | |
const std::string | pdName = "fft~" |
Public Attributes inherited from PdMaster | |
int | cosTableSize = COSTABSIZE |
float * | cos_table |
Additional Inherited Members | |
Public Types inherited from PdMaster | |
typedef union PdMaster::_sampleint_union | t_sampleint_union |
Complex Fast Fourier Transform.
Outputs a window, or block of samples based on the FFT window. Complex FFT returns the real and imaginary parts via a struct.
pd::complexFFT::complexFFT | ( | ) |
If you would like to change the window size, default is 64, use ::setFFTWindow() which is inherited from PdMaster.
pd::complexFFT::complexFFT | ( | int | ws | ) |
Copy constructor. You can manually set the window size here.
double * pd::complexFFT::perform | ( | double | real, |
double | imaginary | ||
) |
This function returns a block of complex samples, which are the real and imaginary parts.
complexFFT returns a block of samples that are processed by mayer_fft(). For complex FFT it returns the real and imaginary parts. The Mayer FFT methods pass all values by reference. You can do whatever with these samples. To resynthesize use cIFFT and divide by window size.