Mercurial > hg > qm-dsp
view dsp/keydetection/GetKeyMode.h @ 378:f5b5f64835b9
Some docs; remove FiltFiltConfig as it's the same as FilterConfig
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Mon, 21 Oct 2013 11:59:57 +0100 |
parents | 9aedf5ea8c35 |
children | e7e36ecd7ad2 |
line wrap: on
line source
/* Copyright (c) 2005 Centre for Digital Music ( C4DM ) Queen Mary Univesrity of London This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #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