comparison framework/Align.cpp @ 704:286bd8bb13cc

Record relative pitch in alignment model for display
author Chris Cannam
date Thu, 15 Aug 2019 18:18:46 +0100
parents e4d92aaa689c
children 162c3f4b870c
comparison
equal deleted inserted replaced
702:e4d92aaa689c 704:286bd8bb13cc
406 transform.setParameter("zonewidth", 40); 406 transform.setParameter("zonewidth", 40);
407 // transform.setParameter("noise", true); 407 // transform.setParameter("noise", true);
408 transform.setParameter("minfreq", 250); 408 transform.setParameter("minfreq", 250);
409 // transform.setParameter("usechroma", 1); 409 // transform.setParameter("usechroma", 1);
410 410
411 int cents = 0;
412
411 if (tuningFrequency != 0.f) { 413 if (tuningFrequency != 0.f) {
412 transform.setParameter("freq2", tuningFrequency); 414 transform.setParameter("freq2", tuningFrequency);
413 } 415
414 416 double centsOffset = 0.f;
417 int pitch = Pitch::getPitchForFrequency(tuningFrequency, &centsOffset);
418 cents = int(round((pitch - 69) * 100 + centsOffset));
419 SVCERR << "frequency " << tuningFrequency << " yields cents offset " << centsOffset << " and pitch " << pitch << " -> cents " << cents << endl;
420 }
421
422 alignmentModel->setRelativePitch(cents);
423
415 SVDEBUG << "Align::alignModel: Alignment transform step size " << transform.getStepSize() << ", block size " << transform.getBlockSize() << endl; 424 SVDEBUG << "Align::alignModel: Alignment transform step size " << transform.getStepSize() << ", block size " << transform.getBlockSize() << endl;
416 425
417 ModelTransformerFactory *mtf = ModelTransformerFactory::getInstance(); 426 ModelTransformerFactory *mtf = ModelTransformerFactory::getInstance();
418 427
419 QString message; 428 QString message;