diff SpectrogramProcessor.cpp @ 25:fe23998968b4

* Added tempogram via autocorrelation feature, using AutocorrelationProcessor * Moved calculateMax() from NoveltyCurveProcessor to SpectrogramProcessor
author Carl Bussey <c.bussey@se10.qmul.ac.uk>
date Wed, 20 Aug 2014 16:00:37 +0100
parents 957b83524c06
children 4cf2d163127b
line wrap: on
line diff
--- a/SpectrogramProcessor.cpp	Tue Aug 19 18:20:26 2014 +0100
+++ b/SpectrogramProcessor.cpp	Wed Aug 20 16:00:37 2014 +0100
@@ -56,8 +56,25 @@
     return spectrogramT;
 }
 
+//calculate max of spectrogram
+float SpectrogramProcessor::calculateMax(const Spectrogram &spectrogram)
+{
+    float max = 0;
+    
+    int length = spectrogram.size();
+    int height = length > 0 ? spectrogram[0].size() : 0;
+    
+    for (int i = 0; i < length; i++){
+        for (int j = 0; j < height; j++){
+            max = max > fabs(spectrogram[i][j]) ? max : fabs(spectrogram[i][j]);
+        }
+    }
+    
+    return max;
+}
+
 //process method
-Spectrogram SpectrogramProcessor::process(const float * const pInput, const size_t &inputLength, const float * pWindow, const bool &transposeOutput) const
+Spectrogram SpectrogramProcessor::process(const float * const pInput, const size_t &inputLength, const float * pWindow) const
 {
     Spectrogram spectrogram;
     
@@ -96,6 +113,5 @@
         writeBlockPointer++;
     }
     
-    if(transposeOutput) return transpose(spectrogram);
-    else return spectrogram;
+    return spectrogram;
 }