-
Notifications
You must be signed in to change notification settings - Fork 258
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
Support different reverb engines #1157
Comments
Strong vote for option 1 (Extend synth.reverb.active from boolean to an enum integer, to allow Different reverb options would be great. BTW, do you know any open source implementations with a Lexicon 224-like architecture? |
Unfortunately not. But I've seen a simple one in the N64 dev kit, which we may use as "source of inspiration". |
I found some useful info in the freeverb3 reference docs: https://freeverb3vst.osdn.jp/ref.shtml
|
Related discussion
https://lists.nongnu.org/archive/html/fluid-dev/2022-05/msg00014.html
Is your feature request related to a problem?
I want to implement a reverbator that produces similar results as the Ultra 64 SDK.
Describe the solution you'd like
It would be nice to select different reverb engines when creating the synth. This would allow to re-enable the old freeverb engine, and for a potentially higher quality FDN reverb (by using 12 delay lines rather than only 8), and it would allow for a "Lexicon 224"-like reverbator, that I have been playing around with.
Describe alternatives you've considered
Alternative 1)
Feed the dry audio to some external program. This seems to have been suggested here (although I didn't fully understand how). In any case, this approach has the drawback that it would be almost impossible to get the amplitudes for the individual fx buffers right and therefore respect CC91 correctly.
Alternative 2)
Feed the dry audio to LADSPA plugins and process it there. Not sure if it would be possible to respect CC91 correctly. Additionally, Reinhold made the following note:
Additional context
To implement this, one should rewrite the reverbator into an abstract C++ class, so that derived classes can implement a particular reverbator. Class template would allow to change previously hard-coded values like
NBR_DELAYS
.The existing setting
synth.reverb.active
could be used to indicate which engine should be used at synth creation. Alternatively, yet another setting could be introduced.@mawe42 FYI
The text was updated successfully, but these errors were encountered: