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