Mercurial > hg > nnls-chroma
comparison chromamethods.cpp @ 48:6e76c7710fa1 matthiasm-plugin
removed subtraction in chroma dictionary, added to-the-power-of-1.5 in chordino
author | matthiasm |
---|---|
date | Mon, 25 Oct 2010 16:58:32 +0900 |
parents | 109d3b2c7105 |
children | 08d24cc21312 |
comparison
equal
deleted
inserted
replaced
47:ea35e6e804f1 | 48:6e76c7710fa1 |
---|---|
376 // sum = 0; | 376 // sum = 0; |
377 // } | 377 // } |
378 // | 378 // |
379 // } | 379 // } |
380 | 380 |
381 float exponent = 2.0; | |
381 | 382 |
382 for (int iChord = 0; iChord < loadedChordDict.size()/24; iChord++) { | 383 for (int iChord = 0; iChord < loadedChordDict.size()/24; iChord++) { |
383 float sum = 0; | 384 float sum = 0; |
384 float stand = 0; | 385 float stand = 0; |
385 for (int iST = 0; iST < 24; ++iST) { | 386 for (int iST = 0; iST < 24; ++iST) { |
386 sum += loadedChordDict[24 * iChord + iST]; | 387 sum += loadedChordDict[24 * iChord + iST]; |
387 } | 388 } |
388 for (int iST = 0; iST < 24; ++iST) { | 389 for (int iST = 0; iST < 24; ++iST) { |
389 loadedChordDict[24 * iChord + iST] -= sum/24; | 390 // loadedChordDict[24 * iChord + iST] -= sum/24; |
390 stand += pow(loadedChordDict[24 * iChord + iST],2)/24; | 391 stand += pow(abs(loadedChordDict[24 * iChord + iST]),exponent)/24; |
391 } | 392 } |
392 stand = sqrt(stand); | 393 stand = pow(stand,(float)1.0/exponent); |
393 for (int iST = 0; iST < 24; ++iST) { | 394 for (int iST = 0; iST < 24; ++iST) { |
394 loadedChordDict[24 * iChord + iST] /= stand; | 395 loadedChordDict[24 * iChord + iST] /= stand; |
395 } | 396 } |
396 | 397 |
397 } | 398 } |