Avoid kick analysis in single-window mode; comment update

This commit is contained in:
Chris Cannam
2022-08-04 12:08:15 +01:00
parent 5b26e90a58
commit 7833e1bff1
2 changed files with 24 additions and 21 deletions

View File

@@ -289,6 +289,8 @@ public:
guidance.channelLock.f1 = 600.0;
}
if (!m_parameters.singleWindowMode) {
bool kick =
(segmentation.percussiveBelow > 40.0) &&
(prevSegmentation.percussiveBelow < 40.0) &&
@@ -298,6 +300,18 @@ public:
(nextSegmentation.percussiveBelow > 40.0) &&
(segmentation.percussiveBelow < 40.0) &&
checkPotentialKick(nextMagnitudes, magnitudes);
if (kick) {
guidance.kick.present = true;
guidance.kick.f0 = 0.0;
guidance.kick.f1 = segmentation.percussiveBelow;
} else if (futureKick) {
guidance.preKick.present = true;
guidance.preKick.f0 = 0.0;
guidance.preKick.f1 = nextSegmentation.percussiveBelow;
}
}
/*
std::cout << "d:"
<< prevSegmentation.percussiveBelow << ","
@@ -308,15 +322,6 @@ public:
<< (kick ? "K" : "N") << ","
<< (futureKick ? "F" : "N") << std::endl;
*/
if (kick) {
guidance.kick.present = true;
guidance.kick.f0 = 0.0;
guidance.kick.f1 = segmentation.percussiveBelow;
} else if (futureKick) {
guidance.preKick.present = true;
guidance.preKick.f0 = 0.0;
guidance.preKick.f1 = nextSegmentation.percussiveBelow;
}
if (segmentation.residualAbove > segmentation.percussiveAbove) {
guidance.highUnlocked.present = true;

View File

@@ -281,8 +281,8 @@ R3Stretcher::createResampler()
if (isRealTime()) {
// If we knew the caller would never change ratio, we could
// supply RatioMostlyFixed - but it can have such overhead
// when the ratio *does* change that a single call would kill
// RT use, so it's not a good idea
// when the ratio *does* change (and it's not RT-safe overhead
// either) that a single call would kill RT use
resamplerParameters.dynamism = Resampler::RatioOftenChanging;
resamplerParameters.ratioChange = Resampler::SmoothRatioChange;
} else {
@@ -1193,8 +1193,6 @@ R3Stretcher::adjustFormant(int c)
void
R3Stretcher::adjustPreKick(int c)
{
//!!! if we aren't going to do this, we should modify Guide so as
//!!! not to do the small additional work of checking for it
if (isSingleWindowed()) return;
Profiler profiler("R3Stretcher::adjustPreKick");