comparison chromamethods.cpp @ 44:109d3b2c7105 matthiasm-plugin

regarding the chord estimation:\n * tweaked chord templates\n * that means that the original method also changed
author matthiasm
date Mon, 25 Oct 2010 01:58:37 +0900
parents d6bb9b43ac1c
children 6e76c7710fa1
comparison
equal deleted inserted replaced
43:131801714118 44:109d3b2c7105
363 loadedChordNames.push_back("N"); 363 loadedChordNames.push_back("N");
364 for (unsigned kSemitone = 0; kSemitone < 12; kSemitone++) loadedChordDict.push_back(0.5); 364 for (unsigned kSemitone = 0; kSemitone < 12; kSemitone++) loadedChordDict.push_back(0.5);
365 for (unsigned kSemitone = 0; kSemitone < 12; kSemitone++) loadedChordDict.push_back(1.0); 365 for (unsigned kSemitone = 0; kSemitone < 12; kSemitone++) loadedChordDict.push_back(1.0);
366 366
367 // normalise 367 // normalise
368 float sum = 0; 368 // float sum = 0;
369 for (int i = 0; i < loadedChordDict.size(); i++) { 369 // for (int i = 0; i < loadedChordDict.size(); i++) {
370 sum += pow(loadedChordDict[i],2); 370 // sum += pow(loadedChordDict[i],2);
371 if (i % 24 == 23) { 371 // if (i % 24 == 23) {
372 float invertedsum = 1.0/sqrt(sum); 372 // float invertedsum = 1.0/sqrt(sum);
373 for (int k = 0; k < 24; k++) { 373 // for (int k = 0; k < 24; k++) {
374 loadedChordDict[i-k] *= invertedsum; 374 // loadedChordDict[i-k] *= invertedsum;
375 } 375 // }
376 sum = 0; 376 // sum = 0;
377 } 377 // }
378 378 //
379 } 379 // }
380
381
382 for (int iChord = 0; iChord < loadedChordDict.size()/24; iChord++) {
383 float sum = 0;
384 float stand = 0;
385 for (int iST = 0; iST < 24; ++iST) {
386 sum += loadedChordDict[24 * iChord + iST];
387 }
388 for (int iST = 0; iST < 24; ++iST) {
389 loadedChordDict[24 * iChord + iST] -= sum/24;
390 stand += pow(loadedChordDict[24 * iChord + iST],2)/24;
391 }
392 stand = sqrt(stand);
393 for (int iST = 0; iST < 24; ++iST) {
394 loadedChordDict[24 * iChord + iST] /= stand;
395 }
396
397 }
398
380 399
381 400
382 nChord = 0; 401 nChord = 0;
383 for (int i = 0; i < loadedChordNames.size(); i++) { 402 for (int i = 0; i < loadedChordNames.size(); i++) {
384 nChord++; 403 nChord++;