# HG changeset patch # User Chris Cannam # Date 1394208064 0 # Node ID d323b5d4157048ad23b3044dc22590b89f830645 # Parent 43cc5f7cc554423cfb38ad6e2944d07a8df5d1b0 Use CHP plugin for local frequency-constrained analysis diff -r 43cc5f7cc554 -r d323b5d41570 .hgsub --- a/.hgsub Fri Mar 07 11:17:37 2014 +0000 +++ b/.hgsub Fri Mar 07 16:01:04 2014 +0000 @@ -3,4 +3,5 @@ svapp = https://code.soundsoftware.ac.uk/hg/svapp dataquay = https://bitbucket.org/breakfastquay/dataquay pyin = https://code.soundsoftware.ac.uk/hg/pyin +chp = https://code.soundsoftware.ac.uk/hg/chp sv-dependency-builds = https://code.soundsoftware.ac.uk/hg/sv-dependency-builds diff -r 43cc5f7cc554 -r d323b5d41570 .hgsubstate --- a/.hgsubstate Fri Mar 07 11:17:37 2014 +0000 +++ b/.hgsubstate Fri Mar 07 16:01:04 2014 +0000 @@ -1,5 +1,6 @@ +32d91b97af7c34b628d819f8fe80073d41cd07f0 chp 236814e07bd07473958c1ff89103124536a0c3c8 dataquay -27682ab6070c1ed50e19d9ec5c6d79388fb767cd pyin +60eb8771d34050e3bed8e715f5fcd0275de469ef pyin 27d4e7152c954bf3c4387319db088fb3cd02436b sv-dependency-builds 40bcaf772d7816f5c05f44df69e50e066d4b6488 svapp 0c8218b2d84a172049d966c82c2064f5aa59c503 svcore diff -r 43cc5f7cc554 -r d323b5d41570 src/Analyser.cpp --- a/src/Analyser.cpp Fri Mar 07 11:17:37 2014 +0000 +++ b/src/Analyser.cpp Fri Mar 07 16:01:04 2014 +0000 @@ -268,20 +268,22 @@ TransformFactory *tf = TransformFactory::getInstance(); - QString plugname = "pYIN"; + QString plugname1 = "pYIN"; + QString plugname2 = "CHP"; + QString base = "vamp:pyin:localcandidatepyin:"; QString out = "pitchtrackcandidates"; if (range.isConstrained()) { - base = "vamp:pyin:yinfc:"; - out = "f0"; + base = "vamp:chp:constrainedharmonicpeak:"; + out = "peak"; } Transforms transforms; - QString notFound = tr("Transform \"%1\" not found. Unable to perform interactive analysis.

Is the %2 Vamp plugin correctly installed?"); + QString notFound = tr("Transform \"%1\" not found. Unable to perform interactive analysis.

Are the %2 and %3 Vamp plugins correctly installed?"); if (!tf->haveTransform(base + out)) { - return notFound.arg(base + out).arg(plugname); + return notFound.arg(base + out).arg(plugname1).arg(plugname2); } Transform t = tf->getDefaultTransformFor @@ -292,6 +294,7 @@ if (range.isConstrained()) { t.setParameter("minfreq", range.min); t.setParameter("maxfreq", range.max); + t.setBlockSize(4096); } RealTime start = RealTime::frame2RealTime