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