aubio
0.3.2
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
src
fft.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2003 Paul Brossier
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18
*/
19
26
#ifndef FFT_H_
27
#define FFT_H_
28
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. */
31
#include <fftw3.h>
32
33
#ifdef HAVE_COMPLEX_H
34
#if FFTW3F_SUPPORT
35
#define FFTW_TYPE fftwf_complex
36
#else
37
#define FFTW_TYPE fftw_complex
38
#endif
39
#else
40
#if FFTW3F_SUPPORT
41
42
#define FFTW_TYPE float
43
#else
44
45
#define FFTW_TYPE double
46
#endif
47
#endif
48
49
#ifdef __cplusplus
50
extern
"C"
{
51
#endif
52
54
typedef
FFTW_TYPE
fft_data_t
;
55
64
typedef
struct
_aubio_fft_t
aubio_fft_t
;
65
71
aubio_fft_t
*
new_aubio_fft
(
uint_t
size);
77
void
del_aubio_fft
(
aubio_fft_t
* s);
86
void
aubio_fft_do
(
const
aubio_fft_t
*s,
const
smpl_t
* data,
87
fft_data_t * spectrum,
const
uint_t
size);
96
void
aubio_fft_rdo
(
const
aubio_fft_t
*s,
const
fft_data_t * spectrum,
97
smpl_t
* data,
const
uint_t
size);
105
void
aubio_fft_getnorm
(
smpl_t
* norm, fft_data_t * spectrum,
uint_t
size);
113
void
aubio_fft_getphas
(
smpl_t
* phase, fft_data_t * spectrum,
uint_t
size);
114
121
typedef
struct
_aubio_mfft_t
aubio_mfft_t
;
122
129
aubio_mfft_t
*
new_aubio_mfft
(
uint_t
winsize,
uint_t
channels);
137
void
aubio_mfft_do
(
aubio_mfft_t
* fft,
fvec_t
* in,
cvec_t
* fftgrain);
145
void
aubio_mfft_rdo
(
aubio_mfft_t
* fft,
cvec_t
* fftgrain,
fvec_t
* out);
151
void
del_aubio_mfft
(
aubio_mfft_t
* fft);
152
153
154
#ifdef __cplusplus
155
}
156
#endif
157
158
#endif
Generated on Fri Oct 31 2014 22:43:05 for aubio by
1.8.1.2