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) |
![]() | |
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) |
![]() | |
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~" |
![]() | |
int | cosTableSize = COSTABSIZE |
float * | cos_table |
Additional Inherited Members | |
![]() | |
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.