diff options
| author | Dominik Kaiser | 2025-09-28 17:02:46 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2025-09-28 17:02:46 +0200 |
| commit | 59ac3b92d6a7dc7ba29791121be7bcc2dc50aead (patch) | |
| tree | 495bd0ae56aa477103c95c1f39bbca9f0912366f | |
| parent | 2d47e0846cfb5c68c5ce9db8b46a8d662842c709 (diff) | |
| download | SchroederReverb-59ac3b92d6a7dc7ba29791121be7bcc2dc50aead.tar.gz SchroederReverb-59ac3b92d6a7dc7ba29791121be7bcc2dc50aead.zip | |
Fixed combfilter
I mistakenly tested with an old version and somehow mistook the
all-pass filter for actual reverb...
| -rw-r--r-- | src/DSP/AllPassFilter.cpp | 2 | ||||
| -rw-r--r-- | src/DSP/CombFilter.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/DSP/AllPassFilter.cpp b/src/DSP/AllPassFilter.cpp index a6e3908..78af7c9 100644 --- a/src/DSP/AllPassFilter.cpp +++ b/src/DSP/AllPassFilter.cpp @@ -5,7 +5,7 @@ void AllPassFilter::prepare(double sampleRate, int samplesPerBlock, int delayInS int maxDelaySamples = static_cast<int>(sampleRate * maxDelayTimeMs / 1000.0); delayBuffer.resize(maxDelaySamples, 0.0f); - //delayInSamples = static_cast<int>(sampleRate * delayInSeconds); + std::fill(delayBuffer.begin(), delayBuffer.end(), 0.0f); delayBufferWritePos = 0; this->delayInSamples_ = delayInSamples; this->gain = gain; diff --git a/src/DSP/CombFilter.cpp b/src/DSP/CombFilter.cpp index b7cfa5b..3d11f2f 100644 --- a/src/DSP/CombFilter.cpp +++ b/src/DSP/CombFilter.cpp @@ -1,7 +1,7 @@ #include "CombFilter.h" void CombFilter::prepare(double sampleRate, int samplesPerBlock, int delayInSamples, float gain) { - int maxDelayTimeMs = 100; + int maxDelayTimeMs = 500; int maxDelaySamples = static_cast<int>(sampleRate * maxDelayTimeMs / 1000.0); delayBuffer.resize(maxDelaySamples, 0.0f); @@ -17,6 +17,6 @@ void CombFilter::process(float* sample) { float delayedSample = delayBuffer[delayReadPos]; float yn = *sample + gain * delayedSample; delayBuffer[delayBufferWritePos] = yn; - *sample = yn; delayBufferWritePos = (delayBufferWritePos + 1) % delayBufferLength; + *sample = delayedSample; } |
