Hi Guys, I communicated with David a little while ago in regard to the effect of Instrument and Preset reverb definitions in the Soundfont and the CC91 and Fluidsynth Reverb Effect Level values. This was what was eventually defined:
A quick math equation: 1) we have a reverb level at the instrument level in the sf2, which ranges between 0 and 1, for the equation we will call this "I". 2) then we have a reverb level at the preset level (still in the sf2), which ranges between -1 and 1, we'll call this "P". 3) if not overridden by the soundfont definition at instrument or preset values, there is a third reverb modulator from CC91 that controls the reverb level, which ranges between 0 and 0.2, call this "M". This is linear, so M = CC91/127 * 0.2. 4) then finally we have the global FS reverb level, which for the equation we'll call "F" (what the Fluidsynth Reverb 'Level' parameter controls) For the equation we take the sum of I, P and M. Clamp it to be between 0 and 1 (i e, if greater than 1, it's 1, if less than 0, it's 0). Then we multiply that with F to get the actual reverb heard... Reverb level = F * clamp(I + P + M) --------------------- In real life this is not working like the equation says it should. A jOrgan user did some tests with different 'I' and 'P' values, and tested the effect of CC91. His results can be found here: http://jorgan.999862.n4.nabble.com/file/n3529674/Reverb-Chorus-Anglais.pdf A summary of these results: "In the soundfont : If you want a total efficiency of CC91 (reverb level) and CC93 (chorus level) MIDI commands be chosen: Instrument: I = 100% Preset: P = 0% That is to say 0 or nothing in the chorus and reverb of boxes soundfont. If you wish to dispense with MIDI commands, and fix everything from fluidsynth effect: Instrument: I = 0 to 100% (ie no effect if P = 100%) Preset: P = 100%, that is to say 100 in the box. ------------------ The issue is with the value added by CC91 to the reverb level. If 'I' is not left blank (100%), then CC91 has no effect, which is contrary to the equation given. Can anyone shed some more light on the mater? Kind regards, GrahamG _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev