File: PVA.h

package info (click to toggle)
sndobj 2.5.1-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,792 kB
  • ctags: 5,210
  • sloc: ansic: 55,029; cpp: 15,748; makefile: 177
file content (44 lines) | stat: -rwxr-xr-x 864 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//////////////////////////////////////////////////////
//     PVA.h: Phase Vocoder Analysis Class
//            
//          Victor Lazzarini, 2003
//           
/////////////////////////////////////////////////////////

#ifndef _PVA_H 
#define _PVA_H
#include "FFT.h"

class PVA : public FFT {

protected:

int  m_rotcount; // rotation counter 
float m_factor;  // conversion factor
float* m_phases;

private:

void inline pvanalysis(float* signal); 

public:

	PVA();
	PVA(Table* window, SndObj* input, float scale=1.f,
		 int fftsize=DEF_FFTSIZE, int hopsize=DEF_VECSIZE, float sr=DEF_SR);

	~PVA();
    	float Outphases(int pos){ return m_phases[pos]; } // reads phase output.
	int Set(char* mess, float value);
    void SetFFTSize(int fftsize);
	void SetHopSize(int hopsize);
	short DoProcess();
  
};

#endif