Audacity
3.2.0
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
Enumerations
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
w
z
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
h
i
k
l
m
o
p
r
s
t
x
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Related Functions
a
b
c
d
e
f
g
l
m
n
o
p
r
s
t
v
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
c
d
e
f
k
l
m
n
o
p
r
s
t
u
v
z
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
z
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
libraries
lib-time-and-pitch
StaffPad
FourierTransform_pffft.h
Go to the documentation of this file.
1
// FFT wrapper for the PFFFT library. It is possible to use different wrappers for
2
// other FFT libraries or platforms, as long as the CSS complex data format is used.
3
4
#pragma once
5
6
#include <stdint.h>
7
8
#include "
SamplesFloat.h
"
9
10
struct
PFFFT_Setup;
11
12
namespace
staffpad::audio
{
13
14
class
FourierTransform
15
{
16
public
:
17
FourierTransform
(int32_t newBlockSize);
18
~FourierTransform
();
19
20
int
getSize
()
const
{
return
static_cast<
int
>
(
_blockSize
); }
21
22
void
forwardReal
(
const
SamplesReal
& t,
SamplesComplex
& c);
23
void
inverseReal
(
const
SamplesComplex
& c,
SamplesReal
& t);
24
25
private
:
26
PFFFT_Setup*
realFftSpec
=
nullptr
;
27
PFFFT_Setup*
complexFftSpec
=
nullptr
;
28
float
*
_pffft_scratch
=
nullptr
;
29
30
const
int32_t
_blockSize
;
31
int32_t
_order
= 0;
32
};
33
34
}
// namespace staffpad::audio
SamplesFloat.h
staffpad::SamplesFloat< float >
staffpad::audio::FourierTransform
Definition:
FourierTransform_pffft.h:15
staffpad::audio::FourierTransform::realFftSpec
PFFFT_Setup * realFftSpec
Definition:
FourierTransform_pffft.h:26
staffpad::audio::FourierTransform::forwardReal
void forwardReal(const SamplesReal &t, SamplesComplex &c)
Definition:
FourierTransform_pffft.cpp:28
staffpad::audio::FourierTransform::FourierTransform
FourierTransform(int32_t newBlockSize)
Definition:
FourierTransform_pffft.cpp:7
staffpad::audio::FourierTransform::_blockSize
const int32_t _blockSize
Definition:
FourierTransform_pffft.h:30
staffpad::audio::FourierTransform::~FourierTransform
~FourierTransform()
Definition:
FourierTransform_pffft.cpp:14
staffpad::audio::FourierTransform::_order
int32_t _order
Definition:
FourierTransform_pffft.h:31
staffpad::audio::FourierTransform::complexFftSpec
PFFFT_Setup * complexFftSpec
Definition:
FourierTransform_pffft.h:27
staffpad::audio::FourierTransform::_pffft_scratch
float * _pffft_scratch
Definition:
FourierTransform_pffft.h:28
staffpad::audio::FourierTransform::inverseReal
void inverseReal(const SamplesComplex &c, SamplesReal &t)
Definition:
FourierTransform_pffft.cpp:46
staffpad::audio::FourierTransform::getSize
int getSize() const
Definition:
FourierTransform_pffft.h:20
staffpad::audio
Definition:
FormantShifter.h:21
Generated by
1.9.3