annotate dsp/phasevocoder/PhaseVocoder.h @ 321:f1e6be2de9a5

A threshold (delta) is added in the peak picking parameters structure (PPickParams). It is used as an offset when computing the smoothed detection function. A constructor for the structure PPickParams is also added to set the parameters to 0 when a structure instance is created. Hence programmes using the peak picking parameter structure and which do not set the delta parameter (e.g. QM Vamp note onset detector) won't be affected by the modifications. Functions modified: - dsp/onsets/PeakPicking.cpp - dsp/onsets/PeakPicking.h - dsp/signalconditioning/DFProcess.cpp - dsp/signalconditioning/DFProcess.h
author mathieub <mathieu.barthet@eecs.qmul.ac.uk>
date Mon, 20 Jun 2011 19:01:48 +0100
parents d5014ab8b0e5
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