HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CL_PitchShift.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: CHOP_ParaEq.h ( Channel Operator Library, C++)
7  *
8  * COMMENTS:
9  *
10  * Shifts the pitch of an audio waveform
11  */
12 
13 #ifndef __CL_PitchShift__
14 #define __CL_PitchShift__
15 
16 #include "CL_API.h"
17 #include "CL_SlidingWindow.h"
18 #include <SYS/SYS_Types.h>
19 
21 {
22 public:
23 
24  CL_PitchShift(int chunk, int oversample);
25  ~CL_PitchShift() override;
26 
27  void setPitchShift(fpreal shift);
28  void setOversample(int oversample);
29  void setChunkSize(int chunk);
30 
31  void reset(fpreal val =0.0) override;
32 
33 private:
34 
35  void makeBlendCurve();
36  void pitchShiftUp();
37  void pitchShiftDown();
38 
39  void doWindowOp(int nsamples,fpreal *dest) override;
40 
41  int myOversample;
42  fpreal myPitchShift;
43  fpreal *mySingleSample;
44  fpreal *myBlendCurve;
45  fpreal *myData;
46 };
47 
48 #endif
#define CL_API
Definition: CL_API.h:10
virtual void reset(fpreal val=0.0)
fpreal64 fpreal
Definition: SYS_Types.h:277
GLuint GLfloat * val
Definition: glcorearb.h:1608