Mercurial > hg > vamp-tempogram
comparison NoveltyCurveProcessor.cpp @ 24:957b83524c06
* Replacing loop unsigned ints with ints
author | Carl Bussey <c.bussey@se10.qmul.ac.uk> |
---|---|
date | Tue, 19 Aug 2014 18:20:26 +0100 |
parents | 7d36c742a183 |
children | fe23998968b4 |
comparison
equal
deleted
inserted
replaced
23:7d36c742a183 | 24:957b83524c06 |
---|---|
111 smoothFilter.process(&spectrogramTransposed[i][0], diffHannWindow, &spectrogramTransposed[i][0], FIRFilter::middle); | 111 smoothFilter.process(&spectrogramTransposed[i][0], diffHannWindow, &spectrogramTransposed[i][0], FIRFilter::middle); |
112 } | 112 } |
113 } | 113 } |
114 | 114 |
115 //half rectification (set negative to zero) | 115 //half rectification (set negative to zero) |
116 void NoveltyCurveProcessor::halfWaveRectify(SpectrogramTransposed &spectrogramTransposed) const | 116 void NoveltyCurveProcessor::halfWaveRectify(Spectrogram &spectrogram) const |
117 { | 117 { |
118 int numberOfBlocks = spectrogramTransposed[0].size(); | 118 int length = spectrogram.size(); |
119 int height = spectrogram[0].size(); | |
119 | 120 |
120 for (int block = 0; block < numberOfBlocks; block++){ | 121 for (int i = 0; i < length; i++){ |
121 for (int k = 0; k < (int)m_blockSize; k++){ | 122 for (int j = 0; j < height; j++){ |
122 if (spectrogramTransposed[k][block] < 0.0) spectrogramTransposed[k][block] = 0.0; | 123 if (spectrogram[i][j] < 0.0) spectrogram[i][j] = 0.0; |
123 } | 124 } |
124 } | 125 } |
125 } | 126 } |
126 | 127 |
127 //process method | 128 //process method |
138 for (int k = 0; k < (int)m_blockSize; k++){ | 139 for (int k = 0; k < (int)m_blockSize; k++){ |
139 spectrogramTransposed[k][block] = log(1+m_compressionConstant*spectrogram[block][k]); | 140 spectrogramTransposed[k][block] = log(1+m_compressionConstant*spectrogram[block][k]); |
140 if(normaliseScale != 0.0) spectrogramTransposed[k][block] /= normaliseScale; //normalise | 141 if(normaliseScale != 0.0) spectrogramTransposed[k][block] /= normaliseScale; //normalise |
141 } | 142 } |
142 } | 143 } |
143 | 144 |
144 //smooted differentiator | 145 //smooted differentiator |
145 smoothedDifferentiator(spectrogramTransposed, 5); //make smoothLength a parameter! | 146 smoothedDifferentiator(spectrogramTransposed, 5); //make smoothLength a parameter! |
146 //halfwave rectification | 147 //halfwave rectification |
147 halfWaveRectify(spectrogramTransposed); | 148 halfWaveRectify(spectrogramTransposed); |
148 | 149 |