# 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