Mercurial > hg > silvet
changeset 154:c6b6d6ea1c3d
Processing parameters. Main difference is use of atomHopFactor of 0.3 instead of 0.25
author | Chris Cannam |
---|---|
date | Fri, 16 May 2014 10:12:55 +0100 |
parents | 5899ebc40fcd |
children | e1ebbae52cff |
files | .hgsubstate Makefile.inc src/Silvet.cpp |
diffstat | 3 files changed, 18 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Fri May 16 08:09:42 2014 +0100 +++ b/.hgsubstate Fri May 16 10:12:55 2014 +0100 @@ -1,2 +1,2 @@ a2621605a8c2119bb063c59e83f4fe792a58e4ac bqvec -9d3b11b5a3e43b5708884ea23e3d0563dad4d6c2 constant-q-cpp +81484e7a33bc1215b09941bc891a560f07973ddc constant-q-cpp
--- a/Makefile.inc Fri May 16 08:09:42 2014 +0100 +++ b/Makefile.inc Fri May 16 10:12:55 2014 +0100 @@ -48,14 +48,16 @@ # DO NOT DELETE -src/Silvet.o: src/Silvet.h src/EM.h +src/Silvet.o: src/Silvet.h src/MedianFilter.h src/EM.h +src/Silvet.o: constant-q-cpp/src/dsp/Resampler.h src/EM.o: src/EM.h data/include/templates.h data/include/bassoon.h src/EM.o: data/include/cello.h data/include/clarinet.h data/include/flute.h src/EM.o: data/include/guitar.h data/include/horn.h data/include/oboe.h src/EM.o: data/include/tenorsax.h data/include/violin.h src/EM.o: data/include/piano-maps-SptkBGCl.h -src/libmain.o: src/Silvet.h +src/libmain.o: src/Silvet.h src/MedianFilter.h bqvec/src/Allocators.o: bqvec/src/Allocators.h bqvec/src/VectorOps.h bqvec/src/Allocators.o: bqvec/src/Restrict.h +src/Silvet.o: src/MedianFilter.h bqvec/src/Allocators.o: bqvec/src/VectorOps.h bqvec/src/Restrict.h bqvec/src/VectorOps.o: bqvec/src/Restrict.h
--- a/src/Silvet.cpp Fri May 16 08:09:42 2014 +0100 +++ b/src/Silvet.cpp Fri May 16 10:12:55 2014 +0100 @@ -325,9 +325,18 @@ m_resampler = 0; } - m_cq = new CQSpectrogram - (processingSampleRate, 27.5, processingSampleRate / 3, processingBPO, - CQSpectrogram::InterpolateLinear); + CQParameters params(processingSampleRate, + 27.5, + processingSampleRate / 3, + processingBPO); + + params.q = 1.0; // MIREX code uses 0.8, but for some reason that + // makes our implementation much, much slower + params.atomHopFactor = 0.3; + params.threshold = 0.0005; + params.window = CQParameters::Hann; + + m_cq = new CQSpectrogram(params, CQSpectrogram::InterpolateLinear); for (int i = 0; i < (int)m_postFilter.size(); ++i) { delete m_postFilter[i]; @@ -549,6 +558,7 @@ //!!! make this a parameter (was 4.8, try adjusting, compare levels against matlab code) double threshold = 6; +// double threshold = 4.8; typedef std::multimap<double, int> ValueIndexMap;