Hi all, The wish of Tom M and Reinhold Hoffmann are clear.
Without answering the question an option but as remark the next. Just add Asio/JackRouter support to fluidsynth. I work with REAPER. With Rearoute you can use DAW REAPER. Then you are free to choose your own reverb. I use Liquidsonics Reverberate. Kind regards, Jan Flikweert -----Original Message----- From: fluid-dev [mailto:fluid-dev-bounces+flkwrt=zeelandnet...@nongnu.org] On Behalf Of Reinhold Hoffmann Sent: Friday, May 27, 2022 9:34 AM To: 'FluidSynth mailing list' Cc: 'Tom M.' Subject: Re: [fluid-dev] Supporting different reverb engines I appreciate having the great reverb capability of Lexicon 224 as part of fluidsynth. I vote for option (1) Reasons why option (1): ----------------------- Regarding option (2): Using the LADSPA architecture on Windows is possible according to the documentation, but dealing with an additional plugin (dll) would have a wider impact (building, intregrating into installers). I guess that the overall file size would be bigger than option (1). Setting the reverb level per effect-groups (effect-group == midi channel == instrument) is key when using the MIDI CC event 91 as reverb indicator for each instrument. Regarding option (3). Option (3) is not an option because we use our own midi player software. Reinhold -----Ursprüngliche Nachricht----- Von: fluid-dev [mailto:fluid-dev-bounces+reinhold=notation....@nongnu.org] Im Auftrag von Tom M. via fluid-dev Gesendet: Donnerstag, 26. Mai 2022 14:34 An: FluidSynth mailing list Cc: Tom M. Betreff: [fluid-dev] Supporting different reverb engines Would it make sense for fluidsynth to implement different reverb engines? I recently came across a Lexicon 224 reverbator, which I quite like. To my ears it sounds better than the FDN reverbator which fluidsynth currently implements. Now, I don't want to go through the discussion of changing our default reverb engine again, as fluidsynth has just changed it in 2.1.0 from freeverb to FDN. But I would really like to hear fluidsynth's output with the Lexicon 224. So, I do wonder how this could be implemented. I see three possible options: 1) Extend synth.reverb.active from boolean to an enum integer, to allow selecting different reverb engines when the synth is created. 2) Write a LADSPA plugin that implements a Lexicon 224 and can be hooked up by fluidsynth. 3) Render dry audio from the synth and manually post-process it in my own MIDI player. Option 1) would allow to also re-add support for the freeverb engine, which we dropped in 2.1.0 (in case anybody misses it). It would also allow to simply read the reverb-send level from fluidsynth's internal buffer setup and apply it to the correct rvoice buffer on-the-fly (potentially parallelized for multi-channel output in the future). Reverb related fluidsettings, like roomsize, level, etc, could be respected as well. On the other hand, one might argue that fluidsynth should not serve as playground for various sound effects. Other people might come and want their reverbators, chorus engines, etc. implemented in fluidsynth. Option 2) seems like the most generic approach. I just don't know if it would be possible to correctly apply the reverb-send level to the individual LADSPA buffers (i.e. MIDI channels) on-the-fly. Looking at our API there is a function fluid_ladspa_effect_set_control() which might be usable for this use-case. But I'm afraid supporting settings like roomsize, level, etc. would not be possible (even though I could live without it). Obviously option 3) would be my fallback. I would use fluid_synth_process() to render a dry, multi-channel output from the synth and apply the Lexicon reverb as post processing step in synth-context, by using fluid_synth_get_gen() to read the GEN_REVERBSEND for every MIDI channel. Any opinions on that? Tom _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev