On Mon, 17 Sep 2007 00:43:30 -0700
Josh Green <[EMAIL PROTECTED]> wrote:

> I think I need to get a better idea of how your patch is helping to keep
> Reverb and Chorus at a more constant output level, regardless of the
> synth.gain setting.

If I recall correctly, effective gain was split in 1.0.7, for each effect
module, into two general controls combining roughly multiplicatively -- one
controlling data sent to the effect module (*_SEND), and one controlling the
module's behavior (gain).  The *_SEND controls, in turn, are an additive
combination of (at least) two inputs -- one specified within the soundfont, and
one specified by MIDI controllers (such as those found on vkeybd).  While the
*_SEND logic produces a clipped value, ensuring that effect output does not
considerably exceed dry output, the module gain control did not.

One way to resolve this would be to place a hard limit on the 1.0.7 effect
gain; while doing this would serve to control output levels, it would also
limit the usefulness of the control.  Instead combining all controls additively
into the *_SEND factor allows adjustment across the entire range of effect for
any given (single) instrument, while preventing effect levels from
significantly exceeding dry output.  This latter approach requires that the
user-configurable gain levels be somehow combined into the *_SEND factors,
which task has no immediately obvious implementation both trivial and clean.

My first patch was the most trivial I could manage; the second was less 
trivial, 
and perhaps only marginally cleaner from the perspective of computational 
expense.


_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to