Hi, Marcus

 

>So maybe what we need is a system where we can have multiple reverb 
>implementations in core FluidSynth and a setting that can be used to select 
>one of the implementations.

 

Yes the idea is very useful as far this dedicaced API remains as simple as 
possible. The possibility of switching the reverb engine and chorus engine 
needs a particular care.

Both are part of the SoundFont specifications. For example the reverb is 
necessary to emulate the natural reverberation of any acoustic instrument. For 
this reason all the output of synthetized  voices instruments are always 
connected to the only one input of the reverb. In other words the reverb unit 
is common for all instruments (ie all MIDI channels) . The same is true for the 
chorus unit.

 

That means  that any Chorus/Reverb unit candIdate must exposes the basic API 
interface (i.e the current API) expected by FluidSynth.

 

 

>So we basically define an effect descriptor structure that each effect 
>implementation can fill. At synth startup, users can choose one of the 
>available effect implementations. A few would be hardcoded into FluidSynth, 
>others could be registered via a new FluidSynth API.

 
That seems simple. However Reverb and Chorus consumes memory, so for small 
embedded system it will be necessary that only the reverb/chorus in use are 
loaded . So this system must uses the RTL API (run time loading library) of the 
OS concerned. These API aren't compicated (around 3  functions maximum). Again 
we fall into the problem of OS dependency but it is necessary.
 
>
Just my 2 cents. But I really think something like this (or another idea to 
create a stable API) should done before adding another reverb type to 
FluidSynth.
Yes, really a useful idea.
Regards
jjc
 
> Message du 23/10/17 00:38
> De : "Marcus Weseloh" 
> A : "FluidSynth mailing list" 
> Copie à : 
> Objet : Re: [fluid-dev] Trying another reverb ?
> 
>
Hi again,

>
2017-10-22 21:09 GMT+02:00 Marcus Weseloh :
>


So maybe what we need is a system where we can have multiple reverb 
implementations in core FluidSynth and a setting that can be used to select one 
of the implementations.



>
Let me explain that idea in a bit more detail. What I have in mind is a better 
defined interface (basically an internal API) for the reverb and chorus 
effects. Something that works a little like LADSPA[1], only less generic and 
more specific to FluidSynth. Here is a quick draft of the idea:
https://gist.github.com/mawe42/20a473ccdee83c364fcc126962656abb
>

>
So we basically define an effect descriptor structure that each effect 
implementation can fill. At synth startup, users can choose one of the 
available effect implementations. A few would be hardcoded into FluidSynth, 
others could be registered via a new FluidSynth API.
>

>
Just my 2 cents. But I really think something like this (or another idea to 
create a stable API) should done before adding another reverb type to 
FluidSynth. As Kent Beck puts it: "for each desired change, make the change 
easy (warning: this may be hard), then make the easy change" .

>
Cheers,

>
    Marcus






_______________________________________________
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

Reply via email to