Mercurial > hg > silvet
changeset 215:5ba328aae5be norm
Normalise samples to cumulative maximum (experimentally)
author | Chris Cannam |
---|---|
date | Tue, 15 Jul 2014 13:32:27 +0100 |
parents | c0779464b792 |
children | d9b688700819 |
files | src/Silvet.cpp src/Silvet.h |
diffstat | 2 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Silvet.cpp Tue Jul 15 13:28:52 2014 +0100 +++ b/src/Silvet.cpp Tue Jul 15 13:32:27 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<double> 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) {