diff src/Silvet.cpp @ 57:49c0a139f165

Max, not median strength for velocity (duh)
author Chris Cannam
date Tue, 08 Apr 2014 13:36:07 +0100
parents 384338fa460d
children d00a6f6c7fc9
line wrap: on
line diff
--- a/src/Silvet.cpp	Tue Apr 08 13:30:43 2014 +0100
+++ b/src/Silvet.cpp	Tue Apr 08 13:36:07 2014 +0100
@@ -564,10 +564,13 @@
         int end = width;
         int start = end-1;
 
-        vector<double> strengths;
+        double maxStrength = 0.0;
 
         while (m_pianoRoll[start].find(note) != m_pianoRoll[start].end()) {
-            strengths.push_back(m_pianoRoll[start][note]);
+            double strength = m_pianoRoll[start][note];
+            if (strength > maxStrength) {
+                maxStrength = strength;
+            }
             --start;
         }
         ++start;
@@ -579,9 +582,7 @@
             continue;
         }
 
-        double medianStrength = MathUtilities::median
-            (strengths.data(), strengths.size());
-        int velocity = medianStrength * 2;
+        int velocity = maxStrength * 2;
         if (velocity > 127) velocity = 127;
 
         Feature nf;