annotate dsp/phasevocoder/PhaseVocoder.h @ 225:49844bc8a895
* Queen Mary C++ DSP library
author |
Chris Cannam <c.cannam@qmul.ac.uk> |
date |
Wed, 05 Apr 2006 17:35:59 +0000 |
parents |
|
children |
7fe29d8a7eaf |
rev |
line source |
c@225
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
c@225
|
2
|
c@225
|
3 /*
|
c@225
|
4 QM DSP Library
|
c@225
|
5
|
c@225
|
6 Centre for Digital Music, Queen Mary, University of London.
|
c@225
|
7 This file copyright 2005-2006 Christian Landone.
|
c@225
|
8 All rights reserved.
|
c@225
|
9 */
|
c@225
|
10
|
c@225
|
11 #ifndef PHASEVOCODER_H
|
c@225
|
12 #define PHASEVOCODER_H
|
c@225
|
13
|
c@225
|
14
|
c@225
|
15 class PhaseVocoder
|
c@225
|
16 {
|
c@225
|
17 public:
|
c@225
|
18 PhaseVocoder();
|
c@225
|
19 virtual ~PhaseVocoder();
|
c@225
|
20
|
c@225
|
21 void process( unsigned int size, double* src, double* mag, double* theta);
|
c@225
|
22 void FFTShift( unsigned int size, double* src);
|
c@225
|
23
|
c@225
|
24 protected:
|
c@225
|
25 void getPhase(unsigned int size, double *theta, double *real, double *imag);
|
c@225
|
26 void coreFFT( unsigned int NumSamples, double *RealIn, double* ImagIn, double *RealOut, double *ImagOut);
|
c@225
|
27 void getMagnitude( unsigned int size, double* mag, double* real, double* imag);
|
c@225
|
28
|
c@225
|
29 double* shiftBuffer;
|
c@225
|
30 double* imagOut;
|
c@225
|
31 double* realOut;
|
c@225
|
32
|
c@225
|
33 };
|
c@225
|
34
|
c@225
|
35 #endif
|