Mercurial > hg > nnls-chroma
comparison NNLSBase.cpp @ 59:1ccb883b585f matthiasm-plugin
more README and n3 updates; changed rollon parameter to percentage
author | matthiasm |
---|---|
date | Mon, 25 Oct 2010 23:47:06 +0900 |
parents | 01bc078f5f61 |
children | 9a1f83057e84 |
comparison
equal
deleted
inserted
replaced
58:01bc078f5f61 | 59:1ccb883b585f |
---|---|
161 | 161 |
162 ParameterDescriptor d0; | 162 ParameterDescriptor d0; |
163 d0.identifier = "rollon"; | 163 d0.identifier = "rollon"; |
164 d0.name = "spectral roll-on"; | 164 d0.name = "spectral roll-on"; |
165 d0.description = "Consider the cumulative energy spectrum (from low to high frequencies). All bins below the first bin whose cumulative energy exceeds the quantile [spectral roll on] x [total energy] will be set to 0. A value of 0 means that no bins will be changed."; | 165 d0.description = "Consider the cumulative energy spectrum (from low to high frequencies). All bins below the first bin whose cumulative energy exceeds the quantile [spectral roll on] x [total energy] will be set to 0. A value of 0 means that no bins will be changed."; |
166 d0.unit = ""; | 166 d0.unit = "%"; |
167 d0.minValue = 0; | 167 d0.minValue = 0; |
168 d0.maxValue = 0.05; | 168 d0.maxValue = 5; |
169 d0.defaultValue = 0; | 169 d0.defaultValue = 0; |
170 d0.isQuantized = true; | 170 d0.isQuantized = true; |
171 d0.quantizeStep = 0.005; | 171 d0.quantizeStep = 0.5; |
172 list.push_back(d0); | 172 list.push_back(d0); |
173 | 173 |
174 ParameterDescriptor d1; | 174 ParameterDescriptor d1; |
175 d1.identifier = "tuningmode"; | 175 d1.identifier = "tuningmode"; |
176 d1.name = "tuning mode"; | 176 d1.name = "tuning mode"; |
434 | 434 |
435 float cumenergy = 0; | 435 float cumenergy = 0; |
436 if (m_rollon > 0) { | 436 if (m_rollon > 0) { |
437 for (size_t iBin = 2; iBin < m_blockSize/2; iBin++) { | 437 for (size_t iBin = 2; iBin < m_blockSize/2; iBin++) { |
438 cumenergy += pow(magnitude[iBin],2); | 438 cumenergy += pow(magnitude[iBin],2); |
439 if (cumenergy < energysum * m_rollon) magnitude[iBin-2] = 0; | 439 if (cumenergy < energysum * m_rollon / 100) magnitude[iBin-2] = 0; |
440 else break; | 440 else break; |
441 } | 441 } |
442 } | 442 } |
443 | 443 |
444 if (maxmag < 2) { | 444 if (maxmag < 2) { |