-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible bug in down sample function in reverb? #15
Comments
I haven't looked at this in a while, but that does look wrong. Here's the code in Freeverb3 that I was attempting to clean up (I think): http://git.savannah.gnu.org/cgit/freeverb3.git/tree/freeverb/src.cpp#n159
They're processing in blocks, whereas I'm processing one sample at a time. So you can think of it as hard-coding Original code in sndfilter:
I think what I'm missing is saving the return value of
Now, I'd rather not stomp the input array, so instead I should do something like:
That seems like it matches the spirit of Freeverb3. What do you think? |
Well that certainly looks like what the code is doing. |
Also the code does not flush denormal numbers to zero. Do you configure the FCU to do this? |
no, I debated whether to do optimizations like that, and decided against it to aid in readability... I think there are a lot of optimizations that could be done on the code (ex: iirc, Apple provides hardware instructions for doing biquad math on a buffer, which Chromium uses but I don't), but wanted to try and remain as simple as possible, so it was more accessible I'm about to push up the fix |
I just added a note to the readme to make it clear I favored simple over fast. Thanks for bringing up these issues! |
The function oversample_stepdown appears to put the samples through the recovery low pass filter but always returns the first input value. I think it should look more like this:
The text was updated successfully, but these errors were encountered: