Moving from plugin CC7 to FreeG

For a long time now I’ve been using my master keyboard to send CC7 controller data to plugins to set their levels for each part of each song, so they’re preprogrammed for a gig. However, inspired by various discussions in other threads, I’d like to move to using a volume plugin such as FreeG, and filter out CC7 messages from going into plugins. This would allow me to keep all my performance data (volumes etc) within Cantabile, so that I’m no longer tied to using my exact master keyboard at gigs (which is sometimes difficult for very distant gigs across the Atlantic, where I need to hire gear).

So I have hundreds of volume levels programmed into my master keyboard which I need to transfer into FreeG levels in Cantabile. My idea was to use a binding to transfer the CC7 values into FreeG and store it, for each song part. However the scaling seems to be completely different - CC7 values I use on plugins give a completely different level and response in FreeG (or other fader plugins I’ve tried, or indeed the Cantabile rack/plugin/route faders). If I scale the high value (CC7 value 127) to 0dB, that level matches, but as I fade down the volumes no longer match. I’m guessing this is because fader plugins tend to use a logarithmic scale or something?

So I thought I’d bring the problem to the community to see if anyone had any ideas for getting all my volume data into FreeG? The basic need would be to recreate the attenuation provided by CC7 in a plugin using FreeG, for each sound/level. The ideal would be to set up a fader plugin that has the same response as CC7 in plugins but perhaps the CC7 response curve in plugins is plugins dependent, so maybe this isn’t possible in general.

Currently the best I’ve come up with is to duplicate each plugin, have one set at CC7 value 127 going into FreeG and another with CC7 value set from my master keyboard, and then simply to go through each one and manually set the FreeG fader level, matching it with the original level using meters. I’ll take forever!

Any ideas greatly appreciated!


Hey Neil,

What kind of binding are you using? Are you mapping to a) a parameter on the plugin, or b) Cantabile’s gain setting on the plugin.

For a) the binding will be a linear mapping from CC to the parameter (since Cantabile has no way of knowing if the parameter is a gain setting or not)
For b) the binding will be a logarithmic mapping - cause it’s a gain slider and that typically gives a better response.

Trying to think how I can help you out with this. I guess the first step is to figure out how your controller is mapping gain levels to CC values. Can you find this information, or perhaps run some experiments to build a table of gain level to CC values and try to fit it to a curve.


I’ve been using (a), i.e. a binding mapping CC7 to the 1:Gain parameter of FreeG. So although this mapping is linear, I guess FreeG’s implementation of the gain control is logarithmic.

What I don’t know is how the volume, usually driven by CC7, is implemented in plugins. I’m guessing different plugins do it differently, so perhaps there’s no simple way to set up a separate fader plugin that will accurately recreate the plugin’s own volume control, for all plugins.

On the other hand, from a small amount of testing on a bunch of plugins, they all appear to respond similarly when I change CC7, and all behave differently to the response of fader plugins like FreeG, judging by eye on metering. So perhaps they’re doing a straight linear volume control (e.g. multiplying the output signal by volume/127), or some other different logarithmic scale - in which case perhaps there’s a way I can set up a fader plugin to simulate this…

When I get home tonight I’ll do as you suggest and try to generate a mapping curve for a few different instrument plugins, so I can pair up plugin CC7 values with their equivalent when using a fader plugin measuring in dB.