-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Audio Effect Reverb #10196
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
Audio Effect Reverb #10196
Conversation
@relic-se If you have a moment this is ready for testing. No rush. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work so far! I haven't dug into everything quite yet, but the biggest issue at the moment is definitely the mix implementation. <0.5 doesn't seem to work for me.
All my testing was on an RP2040 with mono 22050hz sample audio (StreetChicken.wav).
Okay, I may have changed my mind. What if we did create a new Unless you want to take a swing at allowing independent dry/wet mix control globally, I vote we keep it standardized for now and then expand all effects in the future to support this functionality. This question might be better poised on a separate issue/PR, but how would you handle |
@tannewt @dhalbert Any preference on keeping the reverb in |
The advantage of a separate module is that we can turn it off if there are space problems. So I don't think it's bad. Didn't we have As for further reverbs, how different are they in terms of code? Could you make a parameterized reverb that handles all of those in a single class with parameters, or is there something different in the calcuations? |
There was never a singular
Unfortunately, I think other reverb types will operate very differently. The reverb algorithm implemented here, "Freeverb", is finely-tuned for its particular operation (a general "room" sound). Further research may dispute this. |
I'd go further and put this in a |
I think I may leave it and get this PR in and we can look at how to handle mix better across the board later. I think for |
I think the CI errors may be build errors? |
@gamblor21 I've tested your updates, and can confirm that the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple small things and a CI to fix. Thanks for the new module!
This script will fix the zephyr build for you: https://github.com/adafruit/circuitpython/blob/main/ports/zephyr-cp/cptools/update_board_info.py |
Thanks, took a bit to realize how it all worked. Just a note for the future, if someone (me) has stale/old folders in the shared-bindings directory it can cause problems. Wasn't hard to fix after but a small "gotcha". I think the other issues were mostly the fact I submitted this PR before zephyr, and that should not happen again for others. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Adding a reverb effect for audio effects, based on FreeVerb.
Question:
audiodelays
)? Early on we debated more modules but I'm not sure if there is value to make a Reverb only one.Time permitting I may still add in a way to control dry and wet mix independently. So mix could either be
mix=0.5
ormix=(0.3,0.3)