Changeset 2afdb0f for src


Ignore:
Timestamp:
May 17, 2006, 9:45:36 PM (18 years ago)
Author:
Paul Brossier <piem@altern.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
Children:
6ebcb08
Parents:
f44b111
Message:

update fft docs
update fft docs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/fft.h

    rf44b111 r2afdb0f  
    1818*/
    1919
    20 /** @file
    21  * Fft object (fftw3f)
    22  * */
     20/** \file
     21
     22  Fast Fourier Transform object
     23
     24*/
    2325
    2426#ifndef FFT_H_
    2527#define FFT_H_
    2628
    27 /* <complex.h> is not included here but only in aubio_priv.h, so that c++
    28  * projects can still use their own complex definition. */
     29/* note that <complex.h> is not included here but only in aubio_priv.h, so that
     30 * c++ projects can still use their own complex definition. */
    2931#include <fftw3.h>
    3032
     
    4143typedef FFTW_TYPE fft_data_t;
    4244
     45/** FFT object
     46 
     47  This object computes forward and backward FFTs, using the complex type to
     48  store the results. The phase vocoder or aubio_mfft_t objects should be
     49  preferred to using directly aubio_fft_t. The FFT are computed using FFTW3
     50  (although support for another library could be added).
     51
     52*/
    4353typedef struct _aubio_fft_t aubio_fft_t;
    4454
    45 /* fftw funcs */
     55/** create new FFT computation object
     56
     57  \param size length of the FFT
     58
     59*/
    4660extern aubio_fft_t * new_aubio_fft(uint_t size);
     61/** delete FFT object
     62
     63  \param s fft object as returned by new_aubio_fft
     64
     65*/
    4766extern void del_aubio_fft(aubio_fft_t * s);
     67/** compute forward FFT
     68
     69  \param s fft object as returned by new_aubio_fft
     70  \param data input signal
     71  \param spectrum output spectrum
     72  \param size length of the input vector
     73
     74*/
    4875extern void aubio_fft_do (const aubio_fft_t *s, const smpl_t * data,
    4976    fft_data_t * spectrum, const uint_t size);
     77/** compute backward (inverse) FFT
     78
     79  \param s fft object as returned by new_aubio_fft
     80  \param spectrum input spectrum
     81  \param data output signal
     82  \param size length of the input vector
     83
     84*/
    5085extern void aubio_fft_rdo(const aubio_fft_t *s, const fft_data_t * spectrum,
    5186    smpl_t * data, const uint_t size);
    52 /** get norm from spectrum */
     87/** compute norm vector from input spectrum
     88
     89  \param norm magnitude vector output
     90  \param spectrum spectral data input
     91  \param size size of the vectors
     92
     93*/
    5394void aubio_fft_getnorm(smpl_t * norm, fft_data_t * spectrum, uint_t size);
    54 /** get phase from spectrum */
     95/** compute phase vector from input spectrum
     96 
     97  \param phase phase vector output
     98  \param spectrum spectral data input
     99  \param size size of the vectors
     100
     101*/
    55102void aubio_fft_getphas(smpl_t * phase, fft_data_t * spectrum, uint_t size);
    56103
     104/** FFT object (using cvec)
    57105
     106  This object works similarly as aubio_fft_t, except the spectral data is
     107  stored in a cvec_t as two vectors, magnitude and phase.
     108
     109*/
    58110typedef struct _aubio_mfft_t aubio_mfft_t;
     111
     112/** create new FFT computation object
     113
     114  \param winsize length of the FFT
     115  \param channels number of channels
     116
     117*/
    59118aubio_mfft_t * new_aubio_mfft(uint_t winsize, uint_t channels);
     119/** compute forward FFT
     120
     121  \param fft fft object as returned by new_aubio_mfft
     122  \param in input signal
     123  \param fftgrain output spectrum
     124
     125*/
    60126void aubio_mfft_do (aubio_mfft_t * fft,fvec_t * in,cvec_t * fftgrain);
     127/** compute backward (inverse) FFT
     128
     129  \param fft fft object as returned by new_aubio_mfft
     130  \param fftgrain input spectrum (cvec)
     131  \param out output signal
     132
     133*/
    61134void aubio_mfft_rdo(aubio_mfft_t * fft,cvec_t * fftgrain, fvec_t * out);
     135/** delete FFT object
     136
     137  \param fft fft object as returned by new_aubio_mfft
     138
     139*/
    62140void del_aubio_mfft(aubio_mfft_t * fft);
    63141
Note: See TracChangeset for help on using the changeset viewer.