annotate dsp/keydetection/GetKeyMode.h @ 478:c92718cc6ef1

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