diff --git a/src/effect_platervbstereo.cpp b/src/effect_platervbstereo.cpp index ce2af1e..acf0f47 100644 --- a/src/effect_platervbstereo.cpp +++ b/src/effect_platervbstereo.cpp @@ -85,6 +85,7 @@ const int16_t AudioWaveformSine[257] = { AudioEffectPlateReverb::AudioEffectPlateReverb(float32_t samplerate) { + m_samplerate = samplerate; input_attn = 0.5f; in_allp_k = INP_ALLP_COEFF; @@ -200,7 +201,7 @@ void AudioEffectPlateReverb::doReverb(const float32_t* inblockL, const float32_t } cleanup_done = false; - rv_time = rv_time_k; + rv_time = rv_time_k * (48000.0f / m_samplerate); for (uint16_t i=0; i < len; i++) { diff --git a/src/effect_platervbstereo.h b/src/effect_platervbstereo.h index 23538c4..05b73b2 100644 --- a/src/effect_platervbstereo.h +++ b/src/effect_platervbstereo.h @@ -113,6 +113,7 @@ private: bool bypass = false; float32_t reverb_level; float32_t input_attn; + float32_t m_samplerate; // store the sample rate float32_t in_allp_k; // input allpass coeff float32_t in_allp1_bufL[224]; // input allpass buffers