phasevoc.h File Reference

Phase vocoder object. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef _aubio_pvoc_t aubio_pvoc_t
 phasevocoder object

Functions

aubio_pvoc_tnew_aubio_pvoc (uint_t win_s, uint_t hop_s, uint_t channels)
 create phase vocoder object
void del_aubio_pvoc (aubio_pvoc_t *pv)
 delete phase vocoder object
void aubio_pvoc_do (aubio_pvoc_t *pv, fvec_t *in, cvec_t *fftgrain)
 compute spectral frame
void aubio_pvoc_rdo (aubio_pvoc_t *pv, cvec_t *fftgrain, fvec_t *out)
 compute signal from spectral frame
uint_t aubio_pvoc_get_win (aubio_pvoc_t *pv)
 get window size
uint_t aubio_pvoc_get_hop (aubio_pvoc_t *pv)
 get hop size
uint_t aubio_pvoc_get_channels (aubio_pvoc_t *pv)
 get channel number


Detailed Description

Phase vocoder object.

This object implements a phase vocoder. The spectral frames are computed using a HanningZ window and a swapped version of the signal to simplify the phase relationships across frames. The window sizes and overlap are specified at creation time. Multiple channels are fully supported.


Function Documentation

void aubio_pvoc_do ( aubio_pvoc_t pv,
fvec_t in,
cvec_t fftgrain 
)

compute spectral frame

This function accepts an input vector of size [channels]x[hop_s]. The analysis buffer is rotated and filled with the new data. After windowing of this signal window, the Fourier transform is computed and returned in fftgrain as two vectors, magnitude and phase.

Parameters:
pv phase vocoder object as returned by new_aubio_pvoc
in new input signal (hop_s long)
fftgrain output spectral frame

uint_t aubio_pvoc_get_channels ( aubio_pvoc_t pv  ) 

get channel number

Parameters:
pv phase vocoder to get the number of channels from

uint_t aubio_pvoc_get_hop ( aubio_pvoc_t pv  ) 

get hop size

Parameters:
pv phase vocoder to get the hop size from

uint_t aubio_pvoc_get_win ( aubio_pvoc_t pv  ) 

get window size

Parameters:
pv phase vocoder to get the window size from

void aubio_pvoc_rdo ( aubio_pvoc_t pv,
cvec_t fftgrain,
fvec_t out 
)

compute signal from spectral frame

This function takes an input spectral frame fftgrain of size [channels]x[buf_s] and computes its inverse Fourier transform. Overlap-add synthesis is then computed using the previously synthetised frames, and the output stored in out.

Parameters:
pv phase vocoder object as returned by new_aubio_pvoc
fftgrain input spectral frame
out output signal (hop_s long)

void del_aubio_pvoc ( aubio_pvoc_t pv  ) 

delete phase vocoder object

Parameters:
pv phase vocoder object as returned by new_aubio_pvoc

aubio_pvoc_t* new_aubio_pvoc ( uint_t  win_s,
uint_t  hop_s,
uint_t  channels 
)

create phase vocoder object

Parameters:
win_s size of analysis buffer (and length the FFT transform)
hop_s step size between two consecutive analysis
channels number of channels


Generated on Wed Oct 11 17:36:52 2006 for aubio by  doxygen 1.4.7