From c31839ef93cf0832e9ab4b949df543e249b659c2 Mon Sep 17 00:00:00 2001 From: Chris Cannam Date: Tue, 7 Jun 2022 09:06:52 +0100 Subject: [PATCH] Use fixed (faster) resampler settings in offline mode --- src/finer/R3StretcherImpl.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/finer/R3StretcherImpl.cpp b/src/finer/R3StretcherImpl.cpp index 9783b43..0d42995 100644 --- a/src/finer/R3StretcherImpl.cpp +++ b/src/finer/R3StretcherImpl.cpp @@ -82,8 +82,16 @@ R3StretcherImpl::R3StretcherImpl(Parameters parameters, Resampler::Parameters resamplerParameters; resamplerParameters.quality = Resampler::FastestTolerable; - resamplerParameters.dynamism = Resampler::RatioOftenChanging; - resamplerParameters.ratioChange = Resampler::SmoothRatioChange; + + if (m_parameters.options & RubberBandStretcher::OptionProcessRealTime) { + resamplerParameters.dynamism = Resampler::RatioOftenChanging; + resamplerParameters.ratioChange = Resampler::SmoothRatioChange; + } else { + // ratio can't be changed in offline mode + resamplerParameters.dynamism = Resampler::RatioMostlyFixed; + resamplerParameters.ratioChange = Resampler::SuddenRatioChange; + } + resamplerParameters.initialSampleRate = m_parameters.sampleRate; resamplerParameters.maxBufferSize = m_guideConfiguration.longestFftSize; //!!!??? m_resampler = std::unique_ptr