annotate dsp/signalconditioning/DFProcess.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 715f779d0b4f
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
mathieu@321 9 Modifications:
mathieu@321 10
mathieu@321 11 - delta threshold
mathieu@321 12 Description: add delta threshold used as offset in the smoothed
mathieu@321 13 detection function
mathieu@321 14 Author: Mathieu Barthet
mathieu@321 15 Date: June 2010
mathieu@321 16
c@309 17 This program is free software; you can redistribute it and/or
c@309 18 modify it under the terms of the GNU General Public License as
c@309 19 published by the Free Software Foundation; either version 2 of the
c@309 20 License, or (at your option) any later version. See the file
c@309 21 COPYING included with this distribution for more information.
c@225 22 */
c@225 23
c@225 24 #ifndef CDFPROCESS_H
c@225 25 #define CDFPROCESS_H
c@225 26
c@225 27 #include <stdio.h>
c@225 28 #include "FiltFilt.h"
c@225 29
c@225 30 struct DFProcConfig{
c@225 31 unsigned int length;
c@225 32 unsigned int LPOrd;
c@225 33 double *LPACoeffs;
c@225 34 double *LPBCoeffs;
c@225 35 unsigned int winPre;
c@225 36 unsigned int winPost;
c@225 37 double AlphaNormParam;
c@237 38 bool isMedianPositive;
mathieu@321 39 float Delta; //delta threshold used as an offset when computing the smoothed detection function
c@237 40 };
c@225 41
c@225 42 class DFProcess
c@225 43 {
c@225 44 public:
c@225 45 DFProcess( DFProcConfig Config );
c@225 46 virtual ~DFProcess();
c@225 47
c@225 48 void process( double* src, double* dst );
c@225 49
c@225 50
c@225 51 private:
c@225 52 void initialise( DFProcConfig Config );
c@225 53 void deInitialise();
c@225 54 void removeDCNormalize( double *src, double*dst );
c@225 55 void medianFilter( double* src, double* dst );
c@225 56
c@299 57 int m_length;
c@299 58 int m_FFOrd;
c@225 59
c@299 60 int m_winPre;
c@299 61 int m_winPost;
c@225 62
c@225 63 double m_alphaNormParam;
c@225 64
c@225 65 double* filtSrc;
c@225 66 double* filtDst;
c@225 67
c@225 68 double* m_filtScratchIn;
c@225 69 double* m_filtScratchOut;
c@225 70
c@225 71 FiltFiltConfig m_FilterConfigParams;
c@225 72
c@225 73 FiltFilt* m_FiltFilt;
c@225 74
c@225 75 bool m_isMedianPositive;
mathieu@321 76 float m_Delta; //add delta threshold
c@225 77 };
c@225 78
c@225 79 #endif