Mercurial > hg > qm-dsp
changeset 499:af5b7ef02aa7
Style fixes: avoid unsigned, fix formatting
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 03 Jun 2019 14:20:39 +0100 |
parents | 8b92623e81c9 |
children | 8a8693f38b91 |
files | dsp/chromagram/ConstantQ.h dsp/keydetection/GetKeyMode.cpp dsp/keydetection/GetKeyMode.h dsp/onsets/DetectionFunction.cpp dsp/onsets/DetectionFunction.h dsp/onsets/PeakPicking.cpp dsp/onsets/PeakPicking.h dsp/rateconversion/Decimator.cpp dsp/rateconversion/Decimator.h maths/Correlation.cpp maths/Correlation.h |
diffstat | 11 files changed, 226 insertions(+), 225 deletions(-) [+] |
line wrap: on
line diff
--- a/dsp/chromagram/ConstantQ.h Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/chromagram/ConstantQ.h Mon Jun 03 14:20:39 2019 +0100 @@ -24,7 +24,7 @@ double FS; // samplerate double min; // minimum frequency double max; // maximum frequency - unsigned int BPO; // bins per octave + int BPO; // bins per octave double CQThresh; // threshold };
--- a/dsp/keydetection/GetKeyMode.cpp Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/keydetection/GetKeyMode.cpp Mon Jun 03 14:20:39 2019 +0100 @@ -31,13 +31,15 @@ 0.0384, 0.0629, 0.0258, 0.0121, 0.0146, 0.0106, 0.0364, 0.0610, 0.0267, 0.0126, 0.0121, 0.0086, 0.0364, 0.0623, 0.0279, 0.0275, 0.0414, 0.0186, 0.0173, 0.0248, 0.0145, 0.0364, 0.0631, 0.0262, 0.0129, 0.0150, 0.0098, - 0.0312, 0.0521, 0.0235, 0.0129, 0.0142, 0.0095, 0.0289, 0.0478, 0.0239}; + 0.0312, 0.0521, 0.0235, 0.0129, 0.0142, 0.0095, 0.0289, 0.0478, 0.0239 +}; static double MinProfile[kBinsPerOctave] = { 0.0375, 0.0682, 0.0299, 0.0119, 0.0138, 0.0093, 0.0296, 0.0543, 0.0257, 0.0292, 0.0519, 0.0246, 0.0159, 0.0234, 0.0135, 0.0291, 0.0544, 0.0248, 0.0137, 0.0176, 0.0104, 0.0352, 0.0670, 0.0302, 0.0222, 0.0349, 0.0164, - 0.0174, 0.0297, 0.0166, 0.0222, 0.0401, 0.0202, 0.0175, 0.0270, 0.0146}; + 0.0174, 0.0297, 0.0166, 0.0222, 0.0401, 0.0202, 0.0175, 0.0270, 0.0146 +}; // @@ -49,104 +51,108 @@ double hpcpAverage, double medianAverage ) : m_hpcpAverage( hpcpAverage ), m_medianAverage( medianAverage ), - m_ChrPointer(0), - m_DecimatedBuffer(0), - m_ChromaBuffer(0), - m_MeanHPCP(0), - m_MajCorr(0), - m_MinCorr(0), - m_MedianFilterBuffer(0), - m_SortedBuffer(0), + m_chrPointer(0), + m_decimatedBuffer(0), + m_chromaBuffer(0), + m_meanHPCP(0), + m_majCorr(0), + m_minCorr(0), + m_medianFilterBuffer(0), + m_sortedBuffer(0), m_keyStrengths(0) { - m_DecimationFactor = 8; + m_decimationFactor = 8; // Chromagram configuration parameters - m_ChromaConfig.normalise = MathUtilities::NormaliseUnitMax; - m_ChromaConfig.FS = sampleRate/(double)m_DecimationFactor; - if (m_ChromaConfig.FS < 1) { - m_ChromaConfig.FS = 1; + m_chromaConfig.normalise = MathUtilities::NormaliseUnitMax; + m_chromaConfig.FS = sampleRate / (double)m_decimationFactor; + if (m_chromaConfig.FS < 1) { + m_chromaConfig.FS = 1; } // Set C3 (= MIDI #48) as our base: // This implies that key = 1 => Cmaj, key = 12 => Bmaj, key = 13 => Cmin, etc. - m_ChromaConfig.min = Pitch::getFrequencyForPitch( 48, 0, tuningFrequency ); - m_ChromaConfig.max = Pitch::getFrequencyForPitch( 96, 0, tuningFrequency ); + m_chromaConfig.min = Pitch::getFrequencyForPitch( 48, 0, tuningFrequency ); + m_chromaConfig.max = Pitch::getFrequencyForPitch( 96, 0, tuningFrequency ); - m_ChromaConfig.BPO = kBinsPerOctave; - m_ChromaConfig.CQThresh = 0.0054; + m_chromaConfig.BPO = kBinsPerOctave; + m_chromaConfig.CQThresh = 0.0054; // Chromagram inst. - m_Chroma = new Chromagram( m_ChromaConfig ); + m_chroma = new Chromagram( m_chromaConfig ); // Get calculated parameters from chroma object - m_ChromaFrameSize = m_Chroma->getFrameSize(); + m_chromaFrameSize = m_chroma->getFrameSize(); // override hopsize for this application - m_ChromaHopSize = m_ChromaFrameSize; + m_chromaHopSize = m_chromaFrameSize; // std::cerr << "chroma frame size = " << m_ChromaFrameSize << ", decimation factor = " << m_DecimationFactor << " therefore block size = " << getBlockSize() << std::endl; // Chromagram average and estimated key median filter lengths - m_ChromaBuffersize = (int)ceil( m_hpcpAverage * m_ChromaConfig.FS/m_ChromaFrameSize ); - m_MedianWinsize = (int)ceil( m_medianAverage * m_ChromaConfig.FS/m_ChromaFrameSize ); + m_chromaBufferSize = (int)ceil + (m_hpcpAverage * m_chromaConfig.FS / m_chromaFrameSize); + m_medianWinSize = (int)ceil + (m_medianAverage * m_chromaConfig.FS / m_chromaFrameSize); // Reset counters - m_bufferindex = 0; - m_ChromaBufferFilling = 0; - m_MedianBufferFilling = 0; + m_bufferIndex = 0; + m_chromaBufferFilling = 0; + m_medianBufferFilling = 0; // Spawn objectc/arrays - m_DecimatedBuffer = new double[m_ChromaFrameSize]; + m_decimatedBuffer = new double[m_chromaFrameSize]; + m_chromaBuffer = new double[kBinsPerOctave * m_chromaBufferSize]; + + memset(m_chromaBuffer, 0, + sizeof(double) * kBinsPerOctave * m_chromaBufferSize); - m_ChromaBuffer = new double[kBinsPerOctave * m_ChromaBuffersize]; - memset( m_ChromaBuffer, 0, sizeof(double) * kBinsPerOctave * m_ChromaBuffersize); + m_meanHPCP = new double[kBinsPerOctave]; - m_MeanHPCP = new double[kBinsPerOctave]; + m_majCorr = new double[kBinsPerOctave]; + m_minCorr = new double[kBinsPerOctave]; - m_MajCorr = new double[kBinsPerOctave]; - m_MinCorr = new double[kBinsPerOctave]; - - m_MajProfileNorm = new double[kBinsPerOctave]; - m_MinProfileNorm = new double[kBinsPerOctave]; + m_majProfileNorm = new double[kBinsPerOctave]; + m_minProfileNorm = new double[kBinsPerOctave]; double mMaj = MathUtilities::mean( MajProfile, kBinsPerOctave ); double mMin = MathUtilities::mean( MinProfile, kBinsPerOctave ); - for( unsigned int i = 0; i < kBinsPerOctave; i++ ) { - m_MajProfileNorm[i] = MajProfile[i] - mMaj; - m_MinProfileNorm[i] = MinProfile[i] - mMin; + for (int i = 0; i < kBinsPerOctave; i++) { + m_majProfileNorm[i] = MajProfile[i] - mMaj; + m_minProfileNorm[i] = MinProfile[i] - mMin; } - m_MedianFilterBuffer = new int[ m_MedianWinsize ]; - memset( m_MedianFilterBuffer, 0, sizeof(int)*m_MedianWinsize); + m_medianFilterBuffer = new int[ m_medianWinSize ]; + memset( m_medianFilterBuffer, 0, sizeof(int)*m_medianWinSize); - m_SortedBuffer = new int[ m_MedianWinsize ]; - memset( m_SortedBuffer, 0, sizeof(int)*m_MedianWinsize); + m_sortedBuffer = new int[ m_medianWinSize ]; + memset( m_sortedBuffer, 0, sizeof(int)*m_medianWinSize); - m_Decimator = new Decimator( m_ChromaFrameSize*m_DecimationFactor, m_DecimationFactor ); + m_decimator = new Decimator( m_chromaFrameSize * m_decimationFactor, + m_decimationFactor ); m_keyStrengths = new double[24]; } GetKeyMode::~GetKeyMode() { - delete m_Chroma; - delete m_Decimator; + delete m_chroma; + delete m_decimator; - delete [] m_DecimatedBuffer; - delete [] m_ChromaBuffer; - delete [] m_MeanHPCP; - delete [] m_MajCorr; - delete [] m_MinCorr; - delete [] m_MajProfileNorm; - delete [] m_MinProfileNorm; - delete [] m_MedianFilterBuffer; - delete [] m_SortedBuffer; + delete [] m_decimatedBuffer; + delete [] m_chromaBuffer; + delete [] m_meanHPCP; + delete [] m_majCorr; + delete [] m_minCorr; + delete [] m_majProfileNorm; + delete [] m_minProfileNorm; + delete [] m_medianFilterBuffer; + delete [] m_sortedBuffer; delete [] m_keyStrengths; } double GetKeyMode::krumCorr( const double *pDataNorm, const double *pProfileNorm, - int shiftProfile, unsigned int length) + int shiftProfile, int length) { double retVal= 0.0; @@ -155,19 +161,19 @@ double sum1 = 0; double sum2 = 0; - for( unsigned int i = 0; i <length; i++ ) { + for (int i = 0; i < length; i++) { int k = (i - shiftProfile + length) % length; num += pDataNorm[i] * pProfileNorm[k]; - sum1 += ( pDataNorm[i] * pDataNorm[i] ); - sum2 += ( pProfileNorm[k] * pProfileNorm[k] ); + sum1 += (pDataNorm[i] * pDataNorm[i]); + sum2 += (pProfileNorm[k] * pProfileNorm[k]); } den = sqrt(sum1 * sum2); - if( den>0 ) { + if (den > 0) { retVal = num/den; } else { retVal = 0; @@ -176,101 +182,102 @@ return retVal; } -int GetKeyMode::process(double *PCMData) +int GetKeyMode::process(double *pcmData) { int key; - unsigned int j,k; + int j, k; - m_Decimator->process( PCMData, m_DecimatedBuffer); + m_decimator->process(pcmData, m_decimatedBuffer); - m_ChrPointer = m_Chroma->process( m_DecimatedBuffer ); + m_chrPointer = m_chroma->process(m_decimatedBuffer); - // populate hpcp values; + // populate hpcp values int cbidx; - for( j = 0; j < kBinsPerOctave; j++ ) { - cbidx = (m_bufferindex * kBinsPerOctave) + j; - m_ChromaBuffer[ cbidx ] = m_ChrPointer[j]; + for (j = 0;j < kBinsPerOctave;j++ ) { + cbidx = (m_bufferIndex * kBinsPerOctave) + j; + m_chromaBuffer[ cbidx ] = m_chrPointer[j]; } - //keep track of input buffers; - if( m_bufferindex++ >= m_ChromaBuffersize - 1) { - m_bufferindex = 0; + // keep track of input buffers + if (m_bufferIndex++ >= m_chromaBufferSize - 1) { + m_bufferIndex = 0; } // track filling of chroma matrix - if( m_ChromaBufferFilling++ >= m_ChromaBuffersize) { - m_ChromaBufferFilling = m_ChromaBuffersize; + if (m_chromaBufferFilling++ >= m_chromaBufferSize) { + m_chromaBufferFilling = m_chromaBufferSize; } - //calculate mean - for( k = 0; k < kBinsPerOctave; k++ ) { + // calculate mean + for (k = 0; k < kBinsPerOctave; k++) { double mnVal = 0.0; - for( j = 0; j < m_ChromaBufferFilling; j++ ) { - mnVal += m_ChromaBuffer[ k + (j*kBinsPerOctave) ]; + for (j = 0; j < m_chromaBufferFilling; j++) { + mnVal += m_chromaBuffer[ k + (j * kBinsPerOctave) ]; } - m_MeanHPCP[k] = mnVal/(double)m_ChromaBufferFilling; + m_meanHPCP[k] = mnVal / (double)m_chromaBufferFilling; } // Normalize for zero average - double mHPCP = MathUtilities::mean( m_MeanHPCP, kBinsPerOctave ); - for( k = 0; k < kBinsPerOctave; k++ ) { - m_MeanHPCP[k] -= mHPCP; + double mHPCP = MathUtilities::mean(m_meanHPCP, kBinsPerOctave); + for (k = 0; k < kBinsPerOctave; k++) { + m_meanHPCP[k] -= mHPCP; } - for( k = 0; k < kBinsPerOctave; k++ ) { + for (k = 0; k < kBinsPerOctave; k++) { // The Chromagram has the center of C at bin 0, while the major // and minor profiles have the center of C at 1. We want to have // the correlation for C result also at 1. // To achieve this we have to shift two times: - m_MajCorr[k] = krumCorr( m_MeanHPCP, m_MajProfileNorm, (int)k - 2, kBinsPerOctave ); - m_MinCorr[k] = krumCorr( m_MeanHPCP, m_MinProfileNorm, (int)k - 2, kBinsPerOctave ); + m_majCorr[k] = krumCorr + (m_meanHPCP, m_majProfileNorm, k - 2, kBinsPerOctave); + m_minCorr[k] = krumCorr + (m_meanHPCP, m_minProfileNorm, k - 2, kBinsPerOctave); } // m_MajCorr[1] is C center 1 / 3 + 1 = 1 // m_MajCorr[4] is D center 4 / 3 + 1 = 2 // '+ 1' because we number keys 1-24, not 0-23. double maxMaj; - int maxMajBin = MathUtilities::getMax( m_MajCorr, kBinsPerOctave, &maxMaj ); + int maxMajBin = MathUtilities::getMax(m_majCorr, kBinsPerOctave, &maxMaj); double maxMin; - int maxMinBin = MathUtilities::getMax( m_MinCorr, kBinsPerOctave, &maxMin ); + int maxMinBin = MathUtilities::getMax(m_minCorr, kBinsPerOctave, &maxMin); int maxBin = (maxMaj > maxMin) ? maxMajBin : (maxMinBin + kBinsPerOctave); key = maxBin / 3 + 1; - //Median filtering + // Median filtering // track Median buffer initial filling - if( m_MedianBufferFilling++ >= m_MedianWinsize) { - m_MedianBufferFilling = m_MedianWinsize; + if (m_medianBufferFilling++ >= m_medianWinSize) { + m_medianBufferFilling = m_medianWinSize; } - //shift median buffer - for( k = 1; k < m_MedianWinsize; k++ ) { - m_MedianFilterBuffer[ k - 1 ] = m_MedianFilterBuffer[ k ]; + // shift median buffer + for (k = 1; k < m_medianWinSize; k++ ) { + m_medianFilterBuffer[ k - 1 ] = m_medianFilterBuffer[ k ]; } - //write new key value into median buffer - m_MedianFilterBuffer[ m_MedianWinsize - 1 ] = key; + // write new key value into median buffer + m_medianFilterBuffer[ m_medianWinSize - 1 ] = key; - - //Copy median into sorting buffer, reversed - unsigned int ijx = 0; - for( k = 0; k < m_MedianWinsize; k++ ) { - m_SortedBuffer[k] = m_MedianFilterBuffer[m_MedianWinsize-1-ijx]; + // copy median into sorting buffer, reversed + int ijx = 0; + for (k = 0; k < m_medianWinSize; k++) { + m_sortedBuffer[k] = m_medianFilterBuffer[m_medianWinSize - 1 - ijx]; ijx++; } - qsort(m_SortedBuffer, m_MedianBufferFilling, sizeof(unsigned int), + qsort(m_sortedBuffer, m_medianBufferFilling, sizeof(int), MathUtilities::compareInt); - int sortlength = m_MedianBufferFilling; - int midpoint = (int)ceil((double)sortlength/2); + int sortlength = m_medianBufferFilling; + int midpoint = (int)ceil((double)sortlength / 2); - if( midpoint <= 0 ) { + if (midpoint <= 0) { midpoint = 1; } - key = m_SortedBuffer[midpoint-1]; + key = m_sortedBuffer[midpoint-1]; return key; } @@ -281,31 +288,31 @@ return (key > 12); } -unsigned int getChromaSize() +int GetKeyMode::getChromaSize() { return kBinsPerOctave; } double* GetKeyMode::getKeyStrengths() { - unsigned int k; + int k; for (k = 0; k < 24; ++k) { m_keyStrengths[k] = 0; } - for( k = 0; k < kBinsPerOctave; k++ ) { + for (k = 0; k < kBinsPerOctave; k++) { int idx = k / (kBinsPerOctave/12); int rem = k % (kBinsPerOctave/12); - if (rem == 0 || m_MajCorr[k] > m_keyStrengths[idx]) { - m_keyStrengths[idx] = m_MajCorr[k]; + if (rem == 0 || m_majCorr[k] > m_keyStrengths[idx]) { + m_keyStrengths[idx] = m_majCorr[k]; } } - for( k = 0; k < kBinsPerOctave; k++ ) { + for (k = 0; k < kBinsPerOctave; k++) { int idx = (k + kBinsPerOctave) / (kBinsPerOctave/12); int rem = k % (kBinsPerOctave/12); - if (rem == 0 || m_MinCorr[k] > m_keyStrengths[idx]) { - m_keyStrengths[idx] = m_MinCorr[k]; + if (rem == 0 || m_minCorr[k] > m_keyStrengths[idx]) { + m_keyStrengths[idx] = m_minCorr[k]; } }
--- a/dsp/keydetection/GetKeyMode.h Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/keydetection/GetKeyMode.h Mon Jun 03 14:20:39 2019 +0100 @@ -29,15 +29,15 @@ int process( double* PCMData ); double krumCorr( const double *pDataNorm, const double *pProfileNorm, - int shiftProfile, unsigned int length ); + int shiftProfile, int length ); - unsigned int getBlockSize() { return m_ChromaFrameSize*m_DecimationFactor; } - unsigned int getHopSize() { return m_ChromaHopSize*m_DecimationFactor; } + int getBlockSize() { return m_chromaFrameSize * m_decimationFactor; } + int getHopSize() { return m_chromaHopSize * m_decimationFactor; } - double* getChroma() { return m_ChrPointer; } - unsigned int getChromaSize(); + double* getChroma() { return m_chrPointer; } + int getChromaSize(); - double* getMeanHPCP() { return m_MeanHPCP; } + double* getMeanHPCP() { return m_meanHPCP; } double* getKeyStrengths(); @@ -47,46 +47,45 @@ double m_hpcpAverage; double m_medianAverage; - unsigned int m_DecimationFactor; + int m_decimationFactor; - //Decimator (fixed) - Decimator* m_Decimator; + // Decimator (fixed) + Decimator* m_decimator; - //chroma configuration - ChromaConfig m_ChromaConfig; + // Chroma configuration + ChromaConfig m_chromaConfig; - //Chromagram object - Chromagram* m_Chroma; + // Chromagram object + Chromagram* m_chroma; - //Chromagram output pointer - double* m_ChrPointer; + // Chromagram output pointer + double* m_chrPointer; - //Framesize - unsigned int m_ChromaFrameSize; - //Hop - unsigned int m_ChromaHopSize; + // Framesize + int m_chromaFrameSize; + // Hop + int m_chromaHopSize; - unsigned int m_ChromaBuffersize; - unsigned int m_MedianWinsize; + int m_chromaBufferSize; + int m_medianWinSize; - unsigned int m_bufferindex; - unsigned int m_ChromaBufferFilling; - unsigned int m_MedianBufferFilling; - + int m_bufferIndex; + int m_chromaBufferFilling; + int m_medianBufferFilling; - double* m_DecimatedBuffer; - double* m_ChromaBuffer; - double* m_MeanHPCP; + double* m_decimatedBuffer; + double* m_chromaBuffer; + double* m_meanHPCP; - double* m_MajProfileNorm; - double* m_MinProfileNorm; - double* m_MajCorr; - double* m_MinCorr; - int* m_MedianFilterBuffer; - int* m_SortedBuffer; + double* m_majProfileNorm; + double* m_minProfileNorm; + double* m_majCorr; + double* m_minCorr; + int* m_medianFilterBuffer; + int* m_sortedBuffer; double *m_keyStrengths; }; -#endif // !defined GETKEYMODE_H +#endif // !defined QM_DSP_GETKEYMODE_H
--- a/dsp/onsets/DetectionFunction.cpp Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/onsets/DetectionFunction.cpp Mon Jun 03 14:20:39 2019 +0100 @@ -20,7 +20,7 @@ // Construction/Destruction ////////////////////////////////////////////////////////////////////// -DetectionFunction::DetectionFunction( DFConfig Config ) : +DetectionFunction::DetectionFunction( DFConfig config ) : m_window(0) { m_magHistory = NULL; @@ -28,7 +28,7 @@ m_phaseHistoryOld = NULL; m_magPeaks = NULL; - initialise( Config ); + initialise( config ); } DetectionFunction::~DetectionFunction() @@ -116,7 +116,7 @@ void DetectionFunction::whiten() { - for (unsigned int i = 0; i < m_halfLength; ++i) { + for (int i = 0; i < m_halfLength; ++i) { double m = m_magnitude[i]; if (m < m_magPeaks[i]) { m = m + (m_magPeaks[i] - m) * m_whitenRelaxCoeff; @@ -161,25 +161,22 @@ return retVal; } -double DetectionFunction::HFC(unsigned int length, double *src) +double DetectionFunction::HFC(int length, double *src) { - unsigned int i; double val = 0; - - for( i = 0; i < length; i++) { + for (int i = 0; i < length; i++) { val += src[ i ] * ( i + 1); } return val; } -double DetectionFunction::specDiff(unsigned int length, double *src) +double DetectionFunction::specDiff(int length, double *src) { - unsigned int i; double val = 0.0; double temp = 0.0; double diff = 0.0; - for( i = 0; i < length; i++) { + for (int i = 0; i < length; i++) { temp = fabs( (src[ i ] * src[ i ]) - (m_magHistory[ i ] * m_magHistory[ i ]) ); @@ -196,16 +193,15 @@ } -double DetectionFunction::phaseDev(unsigned int length, double *srcPhase) +double DetectionFunction::phaseDev(int length, double *srcPhase) { - unsigned int i; double tmpPhase = 0; double tmpVal = 0; double val = 0; double dev = 0; - for( i = 0; i < length; i++) { + for (int i = 0; i < length; i++) { tmpPhase = (srcPhase[ i ]- 2*m_phaseHistory[ i ]+m_phaseHistoryOld[ i ]); dev = MathUtilities::princarg( tmpPhase ); @@ -228,9 +224,8 @@ } -double DetectionFunction::complexSD(unsigned int length, double *srcMagnitude, double *srcPhase) +double DetectionFunction::complexSD(int length, double *srcMagnitude, double *srcPhase) { - unsigned int i; double val = 0; double tmpPhase = 0; double tmpReal = 0; @@ -240,7 +235,7 @@ ComplexData meas = ComplexData( 0, 0 ); ComplexData j = ComplexData( 0, 1 ); - for( i = 0; i < length; i++) { + for (int i = 0; i < length; i++) { tmpPhase = (srcPhase[ i ]- 2*m_phaseHistory[ i ]+m_phaseHistoryOld[ i ]); dev= MathUtilities::princarg( tmpPhase ); @@ -260,10 +255,10 @@ return val; } -double DetectionFunction::broadband(unsigned int length, double *src) +double DetectionFunction::broadband(int length, double *src) { double val = 0; - for (unsigned int i = 0; i < length; ++i) { + for (int i = 0; i < length; ++i) { double sqrmag = src[i] * src[i]; if (m_magHistory[i] > 0.0) { double diff = 10.0 * log10(sqrmag / m_magHistory[i]);
--- a/dsp/onsets/DetectionFunction.h Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/onsets/DetectionFunction.h Mon Jun 03 14:20:39 2019 +0100 @@ -28,8 +28,8 @@ #define DF_BROADBAND (5) struct DFConfig{ - unsigned int stepSize; // DF step in samples - unsigned int frameLength; // DF analysis window - usually 2*step. Must be even! + int stepSize; // DF step in samples + int frameLength; // DF analysis window - usually 2*step. Must be even! int DFType; // type of detection function ( see defines ) double dbRise; // only used for broadband df (and required for it) bool adaptiveWhitening; // perform adaptive whitening @@ -41,7 +41,7 @@ { public: double* getSpectrumMagnitude(); - DetectionFunction( DFConfig Config ); + DetectionFunction( DFConfig config ); virtual ~DetectionFunction(); /** @@ -60,20 +60,20 @@ void whiten(); double runDF(); - double HFC( unsigned int length, double* src); - double specDiff( unsigned int length, double* src); - double phaseDev(unsigned int length, double *srcPhase); - double complexSD(unsigned int length, double *srcMagnitude, double *srcPhase); - double broadband(unsigned int length, double *srcMagnitude); + double HFC(int length, double* src); + double specDiff(int length, double* src); + double phaseDev(int length, double *srcPhase); + double complexSD(int length, double *srcMagnitude, double *srcPhase); + double broadband(int length, double *srcMagnitude); private: void initialise( DFConfig Config ); void deInitialise(); int m_DFType; - unsigned int m_dataLength; - unsigned int m_halfLength; - unsigned int m_stepSize; + int m_dataLength; + int m_halfLength; + int m_stepSize; double m_dbRise; bool m_whiten; double m_whitenRelaxCoeff;
--- a/dsp/onsets/PeakPicking.cpp Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/onsets/PeakPicking.cpp Mon Jun 03 14:20:39 2019 +0100 @@ -73,7 +73,7 @@ m_workBuffer = NULL; } -void PeakPicking::process( double* src, unsigned int len, vector<int> &onsets ) +void PeakPicking::process( double* src, int len, vector<int> &onsets ) { if (len < 4) return; @@ -82,20 +82,20 @@ // Signal conditioning m_DFSmoothing->process( src, m_workBuffer ); - for( unsigned int u = 0; u < len; u++) { - m_maxima.push_back( m_workBuffer[ u ] ); + for (int i = 0; i < len; i++) { + m_maxima.push_back( m_workBuffer[ i ] ); } quadEval( m_maxima, onsets ); - for( int b = 0; b < (int)m_maxima.size(); b++) { + for( int b = 0; b < (int)m_maxima.size(); b++) { src[ b ] = m_maxima[ b ]; } } int PeakPicking::quadEval( vector<double> &src, vector<int> &idx ) { - unsigned int maxLength; + int maxLength; vector <int> m_maxIndex; vector <int> m_onsetPosition; @@ -108,21 +108,21 @@ m_poly.push_back(0); m_poly.push_back(0); - for( int t = -2; t < 3; t++) { + for (int t = -2; t < 3; t++) { m_err.push_back( (double)t ); } - for( unsigned int i = 2; i < src.size() - 2; i++) { - if( (src[i] > src[i-1]) && (src[i] > src[i+1]) && (src[i] > 0) ) { + for (int i = 2; i < int(src.size()) - 2; i++) { + if ((src[i] > src[i-1]) && (src[i] > src[i+1]) && (src[i] > 0) ) { m_maxIndex.push_back(i); } } - maxLength = m_maxIndex.size(); + maxLength = int(m_maxIndex.size()); double selMax = 0; - for( unsigned int j = 0; j < maxLength ; j++) { + for (int j = 0; j < maxLength ; j++) { for (int k = -2; k <= 2; ++k) { selMax = src[ m_maxIndex[j] + k ] ; m_maxFit.push_back(selMax);
--- a/dsp/onsets/PeakPicking.h Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/onsets/PeakPicking.h Mon Jun 03 14:20:39 2019 +0100 @@ -31,10 +31,10 @@ struct PPWinThresh { - unsigned int pre; - unsigned int post; + int pre; + int post; - PPWinThresh(unsigned int x, unsigned int y) : + PPWinThresh(int x, int y) : pre(x), post(y) { @@ -57,16 +57,16 @@ struct PPickParams { - unsigned int length; //Detection FunctionLength + int length; // detection function length double tau; // time resolution of the detection function - unsigned int alpha; //alpha-norm parameter - double cutoff;//low-pass Filter cutoff freq - unsigned int LPOrd; // low-pass Filter order - double* LPACoeffs; //low pass Filter den coefficients - double* LPBCoeffs; //low pass Filter num coefficients - PPWinThresh WinT;//window size in frames for adaptive thresholding [pre post]: + int alpha; // alpha-norm parameter + double cutoff;// low-pass filter cutoff freq + int LPOrd; // low-pass filter order + double* LPACoeffs; // low-pass filter denominator coefficients + double* LPBCoeffs; // low-pass filter numerator coefficients + PPWinThresh WinT;// window size in frames for adaptive thresholding [pre post]: QFitThresh QuadThresh; - float delta; //delta threshold used as an offset when computing the smoothed detection function + float delta; // delta threshold used as an offset when computing the smoothed detection function PPickParams() : length(0), @@ -89,7 +89,7 @@ PeakPicking( PPickParams Config ); virtual ~PeakPicking(); - void process( double* src, unsigned int len, std::vector<int> &onsets ); + void process( double* src, int len, std::vector<int> &onsets ); private: void initialise( PPickParams Config ); @@ -98,7 +98,7 @@ DFProcConfig m_DFProcessingParams; - unsigned int m_DFLength ; + int m_DFLength ; double Qfilta ; double Qfiltb; double Qfiltc;
--- a/dsp/rateconversion/Decimator.cpp Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/rateconversion/Decimator.cpp Mon Jun 03 14:20:39 2019 +0100 @@ -21,7 +21,7 @@ // Construction/Destruction ////////////////////////////////////////////////////////////////////// -Decimator::Decimator( unsigned int inLength, unsigned int decFactor ) +Decimator::Decimator( int inLength, int decFactor ) { m_inputLength = 0; m_outputLength = 0; @@ -35,7 +35,7 @@ deInitialise(); } -void Decimator::initialise( unsigned int inLength, unsigned int decFactor) +void Decimator::initialise( int inLength, int decFactor) { m_inputLength = inLength; m_decFactor = decFactor; @@ -152,9 +152,9 @@ o1=o2=o3=o4=o5=o6=o7=0; } -void Decimator::doAntiAlias(const double *src, double *dst, unsigned int length) +void Decimator::doAntiAlias(const double *src, double *dst, int length) { - for( unsigned int i = 0; i < length; i++ ) { + for (int i = 0; i < length; i++ ) { Input = (double)src[ i ]; @@ -172,9 +172,9 @@ } } -void Decimator::doAntiAlias(const float *src, double *dst, unsigned int length) +void Decimator::doAntiAlias(const float *src, double *dst, int length) { - for( unsigned int i = 0; i < length; i++ ) { + for (int i = 0; i < length; i++ ) { Input = (double)src[ i ]; @@ -195,7 +195,7 @@ void Decimator::process(const double *src, double *dst) { if (m_decFactor == 1) { - for( unsigned int i = 0; i < m_outputLength; i++ ) { + for (int i = 0; i < m_outputLength; i++ ) { dst[i] = src[i]; } return; @@ -205,7 +205,7 @@ unsigned idx = 0; - for( unsigned int i = 0; i < m_outputLength; i++ ) { + for (int i = 0; i < m_outputLength; i++ ) { dst[ idx++ ] = decBuffer[ m_decFactor * i ]; } } @@ -213,7 +213,7 @@ void Decimator::process(const float *src, float *dst) { if (m_decFactor == 1) { - for( unsigned int i = 0; i < m_outputLength; i++ ) { + for (int i = 0; i < m_outputLength; i++ ) { dst[i] = src[i]; } return; @@ -221,9 +221,9 @@ doAntiAlias( src, decBuffer, m_inputLength ); - unsigned idx = 0; + int idx = 0; - for( unsigned int i = 0; i < m_outputLength; i++ ) { + for (int i = 0; i < m_outputLength; i++ ) { dst[ idx++ ] = decBuffer[ m_decFactor * i ]; } }
--- a/dsp/rateconversion/Decimator.h Mon Jun 03 14:20:07 2019 +0100 +++ b/dsp/rateconversion/Decimator.h Mon Jun 03 14:20:39 2019 +0100 @@ -34,7 +34,7 @@ * is obtained through getHighestSupportedFactor(); for higher * factors, you will need to chain more than one decimator. */ - Decimator( unsigned int inLength, unsigned int decFactor ); + Decimator(int inLength, int decFactor); virtual ~Decimator(); /** @@ -60,13 +60,13 @@ private: void deInitialise(); - void initialise( unsigned int inLength, unsigned int decFactor ); - void doAntiAlias( const double* src, double* dst, unsigned int length ); - void doAntiAlias( const float* src, double* dst, unsigned int length ); + void initialise( int inLength, int decFactor ); + void doAntiAlias( const double* src, double* dst, int length ); + void doAntiAlias( const float* src, double* dst, int length ); - unsigned int m_inputLength; - unsigned int m_outputLength; - unsigned int m_decFactor; + int m_inputLength; + int m_outputLength; + int m_decFactor; double Input; double Output ;
--- a/maths/Correlation.cpp Mon Jun 03 14:20:07 2019 +0100 +++ b/maths/Correlation.cpp Mon Jun 03 14:20:39 2019 +0100 @@ -31,21 +31,21 @@ } -void Correlation::doAutoUnBiased(double *src, double *dst, unsigned int length) +void Correlation::doAutoUnBiased(double *src, double *dst, int length) { double tmp = 0.0; double outVal = 0.0; - unsigned int i,j; + int i, j; - for( i = 0; i < length; i++) { - for( j = i; j < length; j++) { + for (i = 0; i < length; i++) { + for (j = i; j < length; j++) { tmp += src[ j-i ] * src[ j ]; } outVal = tmp / ( length - i ); - if( outVal <= 0 ) { + if (outVal <= 0) { dst[ i ] = EPS; } else { dst[ i ] = outVal;
--- a/maths/Correlation.h Mon Jun 03 14:20:07 2019 +0100 +++ b/maths/Correlation.h Mon Jun 03 14:20:39 2019 +0100 @@ -18,10 +18,10 @@ class Correlation { public: - void doAutoUnBiased( double* src, double* dst, unsigned int length ); Correlation(); virtual ~Correlation(); + void doAutoUnBiased( double* src, double* dst, int length ); }; -#endif // +#endif