Skip to content

Conversation

@stephenhensley
Copy link
Collaborator

@stephenhensley stephenhensley commented Feb 25, 2021

This adds an implementation of the Freeverb algorithm.

A few things still need to be done before it's ready, but it's working.

TODO

  • More flexible tuning (i.e. custom tuning header, or not editing consts for tuning)
  • Sample rate based scaling of tuning values
  • Test Replace and Mix block processing functions
  • Make DaisyExample project and test on hardware
  • Create a FreeverbBuffer type that can be passed in during init for the buffers. This will allow buffer allocation on the external SDRAM.
  • Fill out inline documentation where it makes sense.

Other considerations

This module is yet another reminder that we don't really have a standard method of dealing with stereo modules. So it'd be nice to consolidate that behavior across the various modules.

Also I added the equivalent versions of the lowpass feedback comb filter, and allpass fitlers from the original Freeverb source, which add another variant of those filters. For now they're in the effect folder, though they should probably move to .. well filters. They are prefixed with "Fv" for clarity from the others.

@stephenhensley stephenhensley marked this pull request as draft February 25, 2021 07:17
@stephenhensley
Copy link
Collaborator Author

Got an example running on daisy. Seems there are some issues with the block based functions (had underruns on first attempt there).

Will dig in a bit more tomorrow. Want to consider the most user-friendly way to tune the delays for the filters.

We could go the route of the diffuser/fx_engine in #122 , but part of my hesitancy on that PR is the legibility the buffer creation there. Though, both of these PRs have very similar pieces that can be consolidated to something familiar by the time they're done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants