annotate dsp/tonal/ChangeDetectionFunction.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 980b1a3b9cbe
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 2006 Martin Gasser.
c@225 8 All rights reserved.
c@225 9 */
c@225 10
c@225 11 #ifndef _CHANGEDETECTIONFUNCTION_
c@225 12 #define _CHANGEDETECTIONFUNCTION_
c@225 13
c@225 14 #define DEBUG_CHANGE_DETECTION_FUNCTION 1
c@225 15
c@225 16 #include "TCSgram.h"
c@225 17
c@225 18 #include <valarray>
c@225 19 using std::valarray;
c@225 20
c@225 21 typedef valarray<double> ChangeDistance;
c@225 22
c@225 23 struct ChangeDFConfig
c@225 24 {
c@225 25 int smoothingWidth;
c@225 26 };
c@225 27
c@225 28 class ChangeDetectionFunction
c@225 29 {
c@225 30 public:
c@225 31 ChangeDetectionFunction(ChangeDFConfig);
c@225 32 ~ChangeDetectionFunction();
c@225 33 ChangeDistance process(const TCSGram& rTCSGram);
c@225 34 private:
c@225 35 void setFilterWidth(const int iWidth);
c@225 36
c@225 37 private:
c@225 38 valarray<double> m_vaGaussian;
c@225 39 double m_dFilterSigma;
c@225 40 int m_iFilterWidth;
c@225 41 };
c@225 42
c@225 43 #endif // _CHANGDETECTIONFUNCTION_