comparison chromamethods.cpp @ 74:b80144039d8f matthiasm-plugin

slightly raised weight for the N chord -- better detection of non-harmonic parts
author Matthias Mauch <mail@matthiasmauch.net>
date Fri, 29 Oct 2010 13:14:51 +0900
parents 08d24cc21312
children d398e73b46e0
comparison
equal deleted inserted replaced
73:3ef99d22ec6b 74:b80144039d8f
383 // } 383 // }
384 // 384 //
385 // } 385 // }
386 386
387 float exponent = 2.0; 387 float exponent = 2.0;
388 float boostN = 1.1;
388 389
389 for (int iChord = 0; iChord < loadedChordDict.size()/24; iChord++) { 390 for (int iChord = 0; iChord < loadedChordDict.size()/24; iChord++) {
390 float sum = 0; 391 float sum = 0;
391 float stand = 0; 392 float stand = 0;
392 for (int iST = 0; iST < 24; ++iST) { 393 for (int iST = 0; iST < 24; ++iST) {
394 } 395 }
395 for (int iST = 0; iST < 24; ++iST) { 396 for (int iST = 0; iST < 24; ++iST) {
396 // loadedChordDict[24 * iChord + iST] -= sum/24; 397 // loadedChordDict[24 * iChord + iST] -= sum/24;
397 stand += pow(abs(loadedChordDict[24 * iChord + iST]),exponent)/24; 398 stand += pow(abs(loadedChordDict[24 * iChord + iST]),exponent)/24;
398 } 399 }
399 stand = pow(stand,(float)1.0/exponent); 400 if (iChord < loadedChordDict.size()/24 - 1) {
401 stand = pow(stand,(float)1.0/exponent);
402 } else {
403 stand = pow(stand,(float)1.0/exponent) / boostN;
404 }
400 for (int iST = 0; iST < 24; ++iST) { 405 for (int iST = 0; iST < 24; ++iST) {
401 loadedChordDict[24 * iChord + iST] /= stand; 406 loadedChordDict[24 * iChord + iST] /= stand;
402 } 407 }
403 408
404 } 409 }