MIDI Cc Slider as Volume Control


sorry if this already has been asked here but I did not find a solution when serching the forum. So here is my problem:

I’m having a mixed setup of vst plugs and hardware sound modules (KAWAI MP11 / Keyboardpartner HX3 Expander). The audio outs of the latest are not redirected to cantabile but to a separate mixer together with the outs of my Babyface due to latency issues (specially impotant for the hammond clone).

What I’m missing is the possibility to have a volume slider availale on the routing page of c3 controlling f.e. MIDI Cc#07 to trim the volume in the same way I’d do with the volume slider for vst plugs (not only to be able to influence the volume which could be done easily with an external controller but to have the total recall of the slider position of course).

So my question: is there a solution available to make this happen or maybe any ideas how to realise this with a tricky configuration?

Thanks and kind regards, humphrey


Hi @humphrey

Sounds like what you’re after is a new song/rack slot type which is simply a MIDI controller. Something where you could configure the type of MIDI event to send and Cantabile would store the last set value and of course be state controllable. I guess too it would need to resend the value whenever the song loads.

Interesting idea, but also ties in with User Control Panels and User Parameters.

ie: there’s a few similar/competing/complementary ideas going on in this area and I need to clarify all the requirements.


Hi Brad,

thanks for yor response and agreed “User Control Parameters” is a general description for a class of implementations of a kind. What I asked for would then be one possible implementation.

Thought I could tell the background story here as it also is a nice example for what is possible meanwhile inside cantabile 3. Maybe also useful for other users having similar circumstances.

I spent last days with an interesting rack setup. I got the mentioned HX3 Expander some weeks ago (for my ears the best emulation of a Hammond B3 one can get atm - even if you count in Hammond Xk3!). The only culprit: integration into a cantabile setup under the aspect of “total recall”.

For live use I have the NI B4 controller available which perfectly fits the HX3. HX3 is designed stick to the original B3 means: you only have a memory bank with the 12 sounds for each manual linked to the lower inverse coloured keys on the keft side of each manual. For Hammond purists this is the perfect solution as it is as close to the original as possible. If you want to integrate it into a MIDI setup you have to struggle the limitations.

Of course it is possible to control all parameters by MIDI (otherwise the B4D wouldn’t do the job).

So what I missed was a VST providing a GUI for controlling the HX3 and beeing able to store sounds inside rack or songstates in cantabile.

Fortunately I remembered I had this already available: together with the B4D I purchased a copy of the NI B4II years ago. As B4D was compatible to B4II the idea was to use B4II for the purpose.

What I had to do was the implementation of a bunch of bindings mapping B4II parameters to MIDI Cc events sent to the rack out. The audio routing of B4II was deleted here of course (I didn’t want the B4II audio - it sounds terrible for me btw).

With the latest cantabile bindings update this was easily done - thanks alot for this.

Now I have a special HX3 rack available providing following functions:

  • Realtime control of HX3 by B4D
  • Realtime control of HX3 by Sustain-, Sustainuto-, Volumepedal, Modwheel
  • Store and recall as many complete snapshots as rack or songstates in cantabile as I like
  • Indicators on the B4D are controlled by states

To get back to topic: of course Cc#07 can be stored as part of a snapshot now inside rack or songstate. The perfect solution now would be to have it available on the routing page together with volume sliders of other VSTis.

So: I can easily live without it but it would be warmly welcomed.

Kind regards, humphrey

I wonder it would be possible to use the fader of an empty rack as a binding source (reflection)?


1 Like

Yep, exactly thought of this but no succrss so far :wink:

Hey Neil, thanks for “redirecting” to this! Got it!

The main failure was to select master faders as source instead of the plugin. After a bit fiddling it now seems to work flawlessly (as far as I can tell from 2 minutes :wink: ).

And more: as I already created a rack for the HX3 which only does MIDI manipulation I can use its volume slider now for the purpose and everything behaves like a real VSTi.

Tanks again Neil and kind regards, humphrey

1 Like

This is a useful technique for anyone using external hardware with Cantabile! I’m definitely going to try this myself.


:smile: good luck

The only diadvantage left: I was only able to realise this as a binding outside the rack so it’s not part of the rack and has to be implemented additionally - but hey: it’s 99% perfect.

If you find a way to get around this: would be nice to let me know.

Thanks and regards, humphrey


Neil made the comment that: “This is a useful technique for anyone using external hardware with Cantabile!”

However, I am not understanding the mechanics of how this is done with an empty rack.

If either of you get some spare time and wouldn’t mind providing a detailed “How to”, maybe it would be handy to keep as a “sticky” per Brad’s suggestion on how to develop a “Practical Guide To Using Cantabile” which would be of great help to new folks starting with Cantabile as well as those (like me) that are interested in getting a deeper knowledge of how to maximize the value of C3 for our own uses.

Hi chuck,

try to describe it in a few words here:

  1. I didn’t take an empty rack but one with MIDI only routings and manipulation as it was necessary for the expander. So this is not a general need but more specific for my problem. In other (simpler) setups the rack can be empty as neil mentioned.
  2. Create a binding outside the rack with the rack as source and gain as parameter.
  3. Define target (in my case MIDI-out of the rack)
  4. Map it to a MIDI Controler (in my case 7)
  5. Define the transfer function (0-127/…)
    Now pushing the gain slider will initiate the sending of corresponding MIDI-CC data.

Hope this is clear enough. Otherwise I will happily send a more detailed documentation tomorrow.

Regards, humphrey

I just tried it and it worked for me. Here I am using an Axiom 25 rotary nob to control the volume of a Yamaha DX27 external synth. Here are some screen shots. The rack does not have a plugin inside it:


I’m constantly surprised at the ways you guys find to bend Cantabile to your will. :slight_smile:

This is what I love about Cantabile. It has reached the point where it has enough sophistication that it’s no longer just a plugin host, it’s a creative tool in its own right. Particularly with the new bindings, I feel there’s stuff it can do that nobody has discovered yet…


1 Like


Thank you for posting more details on how you accomplished the volume control. I will experiment with it over the next couple weeks to see if I really understand it and get it working. I believe most of my earlier problems with using bindings had to do with the VB3 plugin in conjunction with my Axiom 64 (the first generation), where any Axiom controls I tried to control the VB3 volume rotary only worked to drop the volume to a 10am setting and stopped working any further. I have been able to use the Mod Wheel to change the tremolo speed from fast to slow with the Axiom, so some things work. I also need to reexamine the newer bindings changes in the latest releases of C3 to make sure I am doing things correctly.

If I can’t get your solution to work with controls on my other keyboards with other plug-ins, then I would appreciate some additional detail/help, but otherwise may write it off to a glitch between the Axiom and VB3 (32 bit with JBridge).

Hi Chuck,

only a quick question (and most probably you’re aware): did you probably mix up Cc07 and Cc11 (Cc11 is the emulation of the Hammond Pedal and cannot decrease volume to zero by design)?

Generally I think a good strategy would be to use the MIDI Monitor inside cantabile. Here you should easily be able to analyse the Data of each of your controls on Axiom to clearify if they do odd things (f.e. not beeing able to send values down to zero) or if something in your settings is wrong (f.e. parameter mapping in bindings).

I din’t know anything about the implementation of the axiom but can tell VB3 doesn’t show strange behaviour as far as I remember (used it for some years until HX3).

If you don’t get things manged I will find some time on weekend to help you. Simply let me know then.

Regards, humphrey

1 Like

Humphrey asked… "did you probably mix up Cc07 and Cc11 (Cc11 is the emulation of the Hammond Pedal and cannot decrease volume to zero by design)?

The VB3 control marked Pedal would be the up/down slider, which is not the one I was mapping to (although I am considering trying that as it does provide the variation in volume that I was looking for).

I was attempting to map to the Rotary control marked “Volume” I believe ( am not at my studio PC to confirm the label).

Actually have never tried using the MIDI monitor, never had the need since the limited functionality I had needed from the Cantabile MIDI side seemed to always work as I wanted it to. So it would be worth some time to explore it and see what I can find out about the Axiom. Thanks for the tip.

With Brad Robinson’s recent forum comment about the 64 bit version of VB3, I thought I would load that up first which would bypass JBridge, and just might be the glitch that is preventing my expected behavior of the Axiom controller with VB3. I’ll play around with it this weekend and also try to implement the use of the rack trick that you and Neil Durant exposed in this forum thread. If I hit a total block in my attempts, I will gladly hit you up on your offer of additional help!


Forgot to mention in my previous post that the Volume rotary control binding to the Axiom rotary control did work perfectly in Cantabile 2 but stopped working when I migrated to Cantabile 3. In Cant2, either using the VB3 “Learn” function, or the upper taskbar ribbon function to set a binding, would work. With all the great things happening in the ongoing development of Cantabile 3, I didn’t see any value in wasting valuable time on why something worked in C2 that doesn’t in C3.

This is an interesting workaround.
I use since years also the nanoKONTROL2 USB midi controller.
Your workaround works pretty good with it (also in C3 :-))
Here I can adjust now also the hardware syntesizer volume wihtin directly within the C3 the rack slider. To use the knob on the nanoKONTROLL is not necessary. Great!