LMMS
Loading...
Searching...
No Matches
pitchscale.h
Go to the documentation of this file.
1#ifndef PITCHSCALE_H
2#define PITCHSCALE_H
3
4#include <config.h>
5
6#ifndef _USE_MATH_DEFINES
7#define _USE_MATH_DEFINES
8#endif
9
10#include <math.h>
11
12#ifdef FFTW3
13
14#include <fftw3.h>
15
16typedef fftwf_plan fft_plan;
17typedef float fftw_real;
18
19#else
20
21#ifdef EXPLICIT_S
22#include <srfftw.h>
23#else
24#include <rfftw.h>
25#endif //EXPLICIT_S
26
27typedef rfftw_plan fft_plan;
28
29#endif //FFTW3
30
31typedef struct {
32 float *gInFIFO;
33 float *gOutFIFO;
34 float *gLastPhase;
35 float *gSumPhase;
37 float *gAnaFreq;
38 float *gAnaMagn;
39 float *gSynFreq;
40 float *gSynMagn;
41 float *gWindow;
42 long gRover;
43} sbuffers;
44
45#define MAX_FRAME_LENGTH 4096
46
47#define true 1
48#define false 0
49
50void pitch_scale(sbuffers *buffers, const double pitchScale, const long
51 fftFrameLength, const long osamp, const long numSampsToProcess,
52 const double sampleRate, const float *indata, float *outdata,
53 const int adding, const float gain);
54
55#endif
float fftw_real
Definition FFTwrapper.h:27
rfftw_plan fft_plan
Definition pitchscale.h:27
void pitch_scale(sbuffers *buffers, const double pitchScale, const long fftFrameLength, const long osamp, const long numSampsToProcess, const double sampleRate, const float *indata, float *outdata, const int adding, const float gain)
Definition pitchscale.c:46
Definition pitchscale.h:31
float * gWindow
Definition pitchscale.h:41
float * gSynFreq
Definition pitchscale.h:39
float * gOutputAccum
Definition pitchscale.h:36
float * gInFIFO
Definition pitchscale.h:32
float * gOutFIFO
Definition pitchscale.h:33
float * gSumPhase
Definition pitchscale.h:35
long gRover
Definition pitchscale.h:42
float * gSynMagn
Definition pitchscale.h:40
float * gLastPhase
Definition pitchscale.h:34
float * gAnaMagn
Definition pitchscale.h:38
float * gAnaFreq
Definition pitchscale.h:37