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