diff --git a/libs/qm-dsp/dsp/keydetection/GetKeyMode.h b/libs/qm-dsp/dsp/keydetection/GetKeyMode.h index 23b1ab6a5d..22b5fd0b10 100644 --- a/libs/qm-dsp/dsp/keydetection/GetKeyMode.h +++ b/libs/qm-dsp/dsp/keydetection/GetKeyMode.h @@ -1,96 +1,96 @@ -/* - * Author: c.landone - * Description: - * - * Syntax: C++ - * - * Copyright (c) 2005 Centre for Digital Music ( C4DM ) - * Queen Mary Univesrity of London - * - * - * This program is not free software; you cannot redistribute it - * without the explicit authorization from the centre for digital music, - * queen mary university of london - * - */ - -#ifndef GETKEYMODE_H -#define GETKEYMODE_H - - -#include "dsp/rateconversion/Decimator.h" -#include "dsp/chromagram/Chromagram.h" - - -class GetKeyMode -{ -public: - GetKeyMode( int sampleRate, float tuningFrequency, - double hpcpAverage, double medianAverage ); - - virtual ~GetKeyMode(); - - int process( double* PCMData ); - - double krumCorr( double* pData1, double* pData2, unsigned int length ); - - unsigned int getBlockSize() { return m_ChromaFrameSize*m_DecimationFactor; } - unsigned int getHopSize() { return m_ChromaHopSize*m_DecimationFactor; } - - double* getChroma() { return m_ChrPointer; } - unsigned int getChromaSize() { return m_BPO; } - - double* getMeanHPCP() { return m_MeanHPCP; } - - double *getKeyStrengths() { return m_keyStrengths; } - - bool isModeMinor( int key ); - -protected: - - double m_hpcpAverage; - double m_medianAverage; - unsigned int m_DecimationFactor; - - //Decimator (fixed) - Decimator* m_Decimator; - - //chroma configuration - ChromaConfig m_ChromaConfig; - - //Chromagram object - Chromagram* m_Chroma; - - //Chromagram output pointer - double* m_ChrPointer; - - //Framesize - unsigned int m_ChromaFrameSize; - //Hop - unsigned int m_ChromaHopSize; - //Bins per octave - unsigned int m_BPO; - - - unsigned int m_ChromaBuffersize; - unsigned int m_MedianWinsize; - - unsigned int m_bufferindex; - unsigned int m_ChromaBufferFilling; - unsigned int m_MedianBufferFilling; - - - double* m_DecimatedBuffer; - double* m_ChromaBuffer; - double* m_MeanHPCP; - - double* m_MajCorr; - double* m_MinCorr; - double* m_Keys; - int* m_MedianFilterBuffer; - int* m_SortedBuffer; - - double *m_keyStrengths; -}; - -#endif // !defined GETKEYMODE_H +/* + * Author: c.landone + * Description: + * + * Syntax: C++ + * + * Copyright (c) 2005 Centre for Digital Music ( C4DM ) + * Queen Mary Univesrity of London + * + * + * This program is not free software; you cannot redistribute it + * without the explicit authorization from the centre for digital music, + * queen mary university of london + * + */ + +#ifndef GETKEYMODE_H +#define GETKEYMODE_H + + +#include "dsp/rateconversion/Decimator.h" +#include "dsp/chromagram/Chromagram.h" + + +class GetKeyMode +{ +public: + GetKeyMode( int sampleRate, float tuningFrequency, + double hpcpAverage, double medianAverage ); + + virtual ~GetKeyMode(); + + int process( double* PCMData ); + + double krumCorr( double* pData1, double* pData2, unsigned int length ); + + unsigned int getBlockSize() { return m_ChromaFrameSize*m_DecimationFactor; } + unsigned int getHopSize() { return m_ChromaHopSize*m_DecimationFactor; } + + double* getChroma() { return m_ChrPointer; } + unsigned int getChromaSize() { return m_BPO; } + + double* getMeanHPCP() { return m_MeanHPCP; } + + double *getKeyStrengths() { return m_keyStrengths; } + + bool isModeMinor( int key ); + +protected: + + double m_hpcpAverage; + double m_medianAverage; + unsigned int m_DecimationFactor; + + //Decimator (fixed) + Decimator* m_Decimator; + + //chroma configuration + ChromaConfig m_ChromaConfig; + + //Chromagram object + Chromagram* m_Chroma; + + //Chromagram output pointer + double* m_ChrPointer; + + //Framesize + unsigned int m_ChromaFrameSize; + //Hop + unsigned int m_ChromaHopSize; + //Bins per octave + unsigned int m_BPO; + + + unsigned int m_ChromaBuffersize; + unsigned int m_MedianWinsize; + + unsigned int m_bufferindex; + unsigned int m_ChromaBufferFilling; + unsigned int m_MedianBufferFilling; + + + double* m_DecimatedBuffer; + double* m_ChromaBuffer; + double* m_MeanHPCP; + + double* m_MajCorr; + double* m_MinCorr; + double* m_Keys; + int* m_MedianFilterBuffer; + int* m_SortedBuffer; + + double *m_keyStrengths; +}; + +#endif // !defined GETKEYMODE_H