# HG changeset patch # User Chris Cannam # Date 1405529175 -3600 # Node ID d9b688700819d0482c555d391e55f4a702ee3e82 # Parent 5ba328aae5be20e41c2ba30bfea12d25b74243e6# Parent 9fa02a1c9bb66e1ff116fc0162f6a6bc5ad8828b Merge from default branch diff -r 9fa02a1c9bb6 -r d9b688700819 src/Silvet.cpp --- a/src/Silvet.cpp Wed Jul 16 17:37:43 2014 +0100 +++ b/src/Silvet.cpp Wed Jul 16 17:46:15 2014 +0100 @@ -390,6 +390,7 @@ m_pianoRoll.clear(); m_columnCount = 0; m_startTime = RealTime::zeroTime; + m_signalMax = 0.0; } Silvet::FeatureSet @@ -401,7 +402,18 @@ vector data; for (int i = 0; i < m_blockSize; ++i) { - data.push_back(inputBuffers[0][i]); + double d = inputBuffers[0][i]; + if (fabs(d) > m_signalMax) { + m_signalMax = fabs(d); + } + } + for (int i = 0; i < m_blockSize; ++i) { + double d = inputBuffers[0][i]; + if (m_signalMax > 0.0) { + data.push_back(d / m_signalMax * 0.5); + } else { + data.push_back(0.0); + } } if (m_resampler) { diff -r 9fa02a1c9bb6 -r d9b688700819 src/Silvet.h --- a/src/Silvet.h Wed Jul 16 17:37:43 2014 +0100 +++ b/src/Silvet.h Wed Jul 16 17:46:15 2014 +0100 @@ -107,6 +107,8 @@ int m_columnCount; Vamp::RealTime m_startTime; + double m_signalMax; + mutable int m_notesOutputNo; mutable int m_fcqOutputNo; };