changeset 223:d323b5d41570

Use CHP plugin for local frequency-constrained analysis
author Chris Cannam
date Fri, 07 Mar 2014 16:01:04 +0000
parents 43cc5f7cc554
children 445dcb9026a9
files .hgsub .hgsubstate src/Analyser.cpp
diffstat 3 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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
--- 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.<br><br>Is the %2 Vamp plugin correctly installed?");
+    QString notFound = tr("Transform \"%1\" not found. Unable to perform interactive analysis.<br><br>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