# HG changeset patch # User Chris Cannam # Date 1565954938 -3600 # Node ID c0b78dcc08e6bbdbe9bb0af990bb283579c32844 # Parent 8fd1c994f937908d8a1aa28a6479518eb5fce183 Some experimental feature adjustments - try using diffs between chroma cells (no better at first glance) diff -r 8fd1c994f937 -r c0b78dcc08e6 src/TuningDifference.cpp --- a/src/TuningDifference.cpp Thu Jul 11 16:29:40 2019 +0100 +++ b/src/TuningDifference.cpp Fri Aug 16 12:28:58 2019 +0100 @@ -332,7 +332,13 @@ template void addTo(vector &a, const vector &b) { - transform(a.begin(), a.end(), b.begin(), a.begin(), plus()); + int n = int(b.size()); + + for (int i = 0; i < n; ++i) { + int j = (i == 0 ? n-1 : i-1); + T diff = b[i] - b[j]; + a[i] += diff; + } } template @@ -348,17 +354,19 @@ if (m_frameCount == 0) return totals; TFeature feature(m_bpo); - double sum = 0.0; + double max = 0.0; for (int i = 0; i < m_bpo; ++i) { double value = totals[i] / m_frameCount; - feature[i] += value; - sum += value; + feature[i] = value; + if (fabs(value) > max) { + max = fabs(value); + } } - if (sum != 0.0) { + if (max > 0.0) { for (int i = 0; i < m_bpo; ++i) { - feature[i] /= sum; + feature[i] /= max; } }