annotate dsp/keydetection/GetKeyMode.h @ 489:701233f8ed41

Make include-guards consistent
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 31 May 2019 16:48:37 +0100
parents d48276a3ae24
children af5b7ef02aa7
rev   line source
cannam@484 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
cannam@475 2 /*
cannam@475 3 Copyright (c) 2005 Centre for Digital Music ( C4DM )
cannam@475 4 Queen Mary Univesrity of London
cannam@475 5
cannam@475 6 This program is free software; you can redistribute it and/or
cannam@475 7 modify it under the terms of the GNU General Public License as
cannam@475 8 published by the Free Software Foundation; either version 2 of the
cannam@475 9 License, or (at your option) any later version. See the file
cannam@475 10 COPYING included with this distribution for more information.
cannam@475 11 */
cannam@475 12
cannam@489 13 #ifndef QM_DSP_GETKEYMODE_H
cannam@489 14 #define QM_DSP_GETKEYMODE_H
cannam@475 15
cannam@475 16
cannam@475 17 #include "dsp/rateconversion/Decimator.h"
cannam@475 18 #include "dsp/chromagram/Chromagram.h"
cannam@475 19
cannam@475 20
cannam@475 21 class GetKeyMode
cannam@475 22 {
cannam@475 23 public:
cannam@478 24 GetKeyMode( int sampleRate, float tuningFrequency,
cannam@478 25 double hpcpAverage, double medianAverage );
cannam@475 26
cannam@478 27 virtual ~GetKeyMode();
cannam@475 28
cannam@478 29 int process( double* PCMData );
cannam@475 30
cannam@478 31 double krumCorr( const double *pDataNorm, const double *pProfileNorm,
cannam@478 32 int shiftProfile, unsigned int length );
cannam@475 33
cannam@478 34 unsigned int getBlockSize() { return m_ChromaFrameSize*m_DecimationFactor; }
cannam@478 35 unsigned int getHopSize() { return m_ChromaHopSize*m_DecimationFactor; }
cannam@475 36
cannam@478 37 double* getChroma() { return m_ChrPointer; }
cannam@478 38 unsigned int getChromaSize();
cannam@475 39
cannam@478 40 double* getMeanHPCP() { return m_MeanHPCP; }
cannam@475 41
cannam@478 42 double* getKeyStrengths();
cannam@475 43
cannam@478 44 bool isModeMinor( int key );
cannam@475 45
cannam@475 46 protected:
cannam@475 47
cannam@478 48 double m_hpcpAverage;
cannam@478 49 double m_medianAverage;
cannam@478 50 unsigned int m_DecimationFactor;
cannam@475 51
cannam@478 52 //Decimator (fixed)
cannam@478 53 Decimator* m_Decimator;
cannam@475 54
cannam@478 55 //chroma configuration
cannam@478 56 ChromaConfig m_ChromaConfig;
cannam@475 57
cannam@478 58 //Chromagram object
cannam@478 59 Chromagram* m_Chroma;
cannam@475 60
cannam@478 61 //Chromagram output pointer
cannam@478 62 double* m_ChrPointer;
cannam@475 63
cannam@478 64 //Framesize
cannam@478 65 unsigned int m_ChromaFrameSize;
cannam@478 66 //Hop
cannam@478 67 unsigned int m_ChromaHopSize;
cannam@475 68
cannam@475 69
cannam@478 70 unsigned int m_ChromaBuffersize;
cannam@478 71 unsigned int m_MedianWinsize;
cannam@478 72
cannam@478 73 unsigned int m_bufferindex;
cannam@478 74 unsigned int m_ChromaBufferFilling;
cannam@478 75 unsigned int m_MedianBufferFilling;
cannam@478 76
cannam@475 77
cannam@478 78 double* m_DecimatedBuffer;
cannam@478 79 double* m_ChromaBuffer;
cannam@478 80 double* m_MeanHPCP;
cannam@475 81
cannam@478 82 double* m_MajProfileNorm;
cannam@478 83 double* m_MinProfileNorm;
cannam@478 84 double* m_MajCorr;
cannam@478 85 double* m_MinCorr;
cannam@478 86 int* m_MedianFilterBuffer;
cannam@478 87 int* m_SortedBuffer;
cannam@475 88
cannam@478 89 double *m_keyStrengths;
cannam@475 90 };
cannam@475 91
cannam@475 92 #endif // !defined GETKEYMODE_H