Skip to content

Add FreeverbNode#78

Merged
BillyDM merged 4 commits into
BillyDM:mainfrom
CorvusPrudens:freeverb
Oct 13, 2025
Merged

Add FreeverbNode#78
BillyDM merged 4 commits into
BillyDM:mainfrom
CorvusPrudens:freeverb

Conversation

@CorvusPrudens

@CorvusPrudens CorvusPrudens commented Oct 5, 2025

Copy link
Copy Markdown
Contributor

This PR introduces a simple reverb node using the freeverb algorithm.

The implementation I pulled this from uses f64s internally, but we could swap them out for f32, likely without any real loss in quality.

The processor has proper smoothing for its parameters, performs declicking when paused, and does a crude silence analysis when its inputs are silent. It appeared to be working correctly in my testing, but I haven't done a full test with the code in Firewheel. I'll report back when I've finished that testing.

Comment thread crates/firewheel-nodes/src/freeverb/mod.rs Outdated
@CorvusPrudens

Copy link
Copy Markdown
Contributor Author

Okay, I've tested the node in context, and after the updates it continues to work as expected.

I did make some changes to the Notify implementations. They received some optimizations that, while avoiding allocations, also dropped the notify counter. This caused false positives for change detection and messed with sampler completion detection. I provided alternative, moderate optimizations for smaller types, and simply reverted to allocations for larger ones. Let me know if this seems reasonable.

@BillyDM BillyDM merged commit eed6abc into BillyDM:main Oct 13, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants