[LAU] setBfree: Gain sweller from lin to log characteristic

Gerhard Zintel gerhard.zintel at web.de
Tue Dec 14 23:02:27 CET 2021

Dear list,

I'm mainly using Pianoteq and setBfree for live performance. To quickly adapt my
sound volume of both SoftSynths together I'm using a foot pedal to send Midi
volume commands to both applications. Unfortunately that is not working very
well for both programs are using the Midi volume values (0-127) differently.
Pianoteq adjusts its output volume according to a more logarithmic manner while
setBfree seems to handle it linearly. Thus if I adjust both volumes to a similar
SPL for Midi value = 127 the organ is way to loud at lower levels compared to

Meanwhile I have found the location in the source of setBfree where I could make
adjustments. I have measured the logarithmic dependency of Pianotec's Midi to
volume characteristic and found a formula to be used in setBfree to get a
similar performance. It would be nice if this could find its way into the
original source.

Now I have the following questions:

Does anyone of you know if the original swell pedal of the B3 is changing the
volume in a linear or logarithmic way? Maybe if the original B3 uses a linear
characteristic we should not change setBfree's code.

The function I'm using is mimicking Pianotec's characteristic. Maybe there is a
more global approach for changing from linear to logarithmic behavior over Midi
volume values? Surely for me it's ideal when both Synths have same characteristic.

Do you know a source where I can find more general info about lin<=> log
conversion of Midi volume in software? How is it handled in other professional
programs? I know that every amplifier uses a logarithmic pot for volume control
to follow more the human loudness perception.

Do you think its worth the effort to send a patch to github's repository (I've
never done such a thing so far)?

Thank you for your time

More information about the Linux-audio-user mailing list