Mercurial > hg > vamp-tempogram
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; }