annotate dsp/phasevocoder/PhaseVocoder.h @ 309:d5014ab8b0e5

* Add GPL and README; some tidying
author Chris Cannam <c.cannam@qmul.ac.uk>
date Mon, 13 Dec 2010 14:55:28 +0000
parents befe5aa6b450
children f3c69325cca2
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@309 7 This file 2005-2006 Christian Landone.
c@309 8
c@309 9 This program is free software; you can redistribute it and/or
c@309 10 modify it under the terms of the GNU General Public License as
c@309 11 published by the Free Software Foundation; either version 2 of the
c@309 12 License, or (at your option) any later version. See the file
c@309 13 COPYING included with this distribution for more information.
c@225 14 */
c@225 15
c@225 16 #ifndef PHASEVOCODER_H
c@225 17 #define PHASEVOCODER_H
c@225 18
c@289 19 class FFTReal;
c@225 20
c@225 21 class PhaseVocoder
c@225 22 {
c@225 23 public:
c@289 24 PhaseVocoder( unsigned int size );
c@225 25 virtual ~PhaseVocoder();
c@225 26
c@289 27 void process( double* src, double* mag, double* theta);
c@225 28
c@225 29 protected:
c@225 30 void getPhase(unsigned int size, double *theta, double *real, double *imag);
c@289 31 // void coreFFT( unsigned int NumSamples, double *RealIn, double* ImagIn, double *RealOut, double *ImagOut);
c@225 32 void getMagnitude( unsigned int size, double* mag, double* real, double* imag);
c@280 33 void FFTShift( unsigned int size, double* src);
c@225 34
c@289 35 unsigned int m_n;
c@289 36 FFTReal *m_fft;
c@289 37 double *m_imagOut;
c@289 38 double *m_realOut;
c@225 39
c@225 40 };
c@225 41
c@225 42 #endif