Mercurial > hg > match-vamp
changeset 161:123147f096d2 refactors
Expose tuning frequency parameters through plugin
author | Chris Cannam |
---|---|
date | Thu, 29 Jan 2015 17:13:58 +0000 |
parents | 581b1118ec28 |
children | dda5410ac9f0 |
files | src/MatchVampPlugin.cpp src/MatchVampPlugin.h |
diffstat | 2 files changed, 32 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/MatchVampPlugin.cpp Thu Jan 29 17:07:05 2015 +0000 +++ b/src/MatchVampPlugin.cpp Thu Jan 29 17:13:58 2015 +0000 @@ -62,6 +62,7 @@ m_defaultParams(defaultStepTime), m_feParams(inputSampleRate, m_blockSize), m_defaultFeParams(inputSampleRate, m_blockSize), + m_secondReferenceFrequency(m_defaultFeParams.referenceFrequency), m_fcParams(), m_defaultFcParams(), m_dParams(), @@ -282,6 +283,26 @@ desc.unit = ""; list.push_back(desc); + desc.identifier = "freq1"; + desc.name = "Tuning Frequency of First Input"; + desc.description = "Tuning frequency (concert A) for the reference audio."; + desc.minValue = 220.0; + desc.maxValue = 880.0; + desc.defaultValue = (float)m_defaultFeParams.referenceFrequency; + desc.isQuantized = false; + desc.unit = "Hz"; + list.push_back(desc); + + desc.identifier = "freq2"; + desc.name = "Tuning Frequency of Second Input"; + desc.description = "Tuning frequency (concert A) for the other audio."; + desc.minValue = 220.0; + desc.maxValue = 880.0; + desc.defaultValue = (float)m_defaultFeParams.referenceFrequency; + desc.isQuantized = false; + desc.unit = "Hz"; + list.push_back(desc); + return list; } @@ -312,6 +333,10 @@ return (int)m_dParams.metric; } else if (name == "noise") { return m_dParams.noise; + } else if (name == "freq1") { + return (float)m_feParams.referenceFrequency; + } else if (name == "freq2") { + return (float)m_secondReferenceFrequency; } return 0.0; @@ -344,6 +369,10 @@ m_dParams.metric = (DistanceMetric::Metric)(int(value + 0.1)); } else if (name == "noise") { m_dParams.noise = (DistanceMetric::NoiseAddition)(int(value + 0.1)); + } else if (name == "freq1") { + m_feParams.referenceFrequency = value; + } else if (name == "freq2") { + m_secondReferenceFrequency = value; } } @@ -365,7 +394,8 @@ m_params.hopTime = m_stepTime; m_feParams.fftSize = m_blockSize; - m_pipeline = new MatchPipeline(m_feParams, m_fcParams, m_dParams, m_params); + m_pipeline = new MatchPipeline(m_feParams, m_fcParams, m_dParams, m_params, + m_secondReferenceFrequency); } bool
--- a/src/MatchVampPlugin.h Thu Jan 29 17:07:05 2015 +0000 +++ b/src/MatchVampPlugin.h Thu Jan 29 17:13:58 2015 +0000 @@ -78,14 +78,13 @@ bool m_smooth; int m_frameNo; - int m_lastFrameIn1; - int m_lastFrameIn2; Matcher::Parameters m_params; Matcher::Parameters m_defaultParams; FeatureExtractor::Parameters m_feParams; FeatureExtractor::Parameters m_defaultFeParams; + double m_secondReferenceFrequency; FeatureConditioner::Parameters m_fcParams; FeatureConditioner::Parameters m_defaultFcParams;