C3 as a VST rack - no songs

I’m hoping to use C3 as an add-on sound device. The C3 Song paradigm doesn’t seem so important to me. My band never follows it’s own setlist anyway! I often have to change patches instantly. My hardware synth has most of the sounds I need for now. I’l like to use vsts in certain places to layer or replace a few synth patches and control this only from my hardware keyboard. The VSTs would be silent until I pressed D68 or C99 patch for example. Can anyone give me a headstart on how to load a rack of soft synths for a whole gig and have them respond to patch changes from my keyboard? I’m aware of bindings, but they don’t seem to be responding to my synth. thx.

Hi Kenny,

The first question is how is your keyboard midi port set up? Tools>Options>MIDI Ports. If that’s already good then the next question is are you getting vst sounds when you play the keyboard but can’t change programs or send messages to the bindings section or is it no MIDI activity at all?


The vsts respond to notes from my keyboard just fine. But I need help about the bindings.

I would like the vst to choose a patch when it gets the proper message. When I choose a different patch number I need the vst to be silent. Or go to a muted patch.

I created a binding for my vst, selected ‘program change’ and set it to 68. My Korg TR has four banks of A-D so I tried the ‘program change banked’ binding with a number 4.68

There’s no response to that . I don’t even see the midi message light responding to the button press as it does when I play a note…

I read up on bindings but can’t figure it out.

Could you post a screen shot of your binding?


My first step with my new rig is to do the same thing, in fact my first step is to get Cantabile as the hub of my rig rather than being at the end of my live chain, where I have used it for years to do backing track and light show duties.

I am changing, as before my hardware rig was Roland FC300 => Yamaha EX5 and Novation Remote 61 => Rack Synths (chained MIDI IN/THRU) and then finally my laptop with Cantabile. That all worked because the EX5 and Novation had a built in MIDI merge function that merged the data on their MIDI in ports with their own data. When I replaced the Remote61 and Rack synths with a Kronos I used the Kronos MIDI thru (so effectively the merged EX5 data to drive the computer/Cantabile, which worked

That merge feature is as rare as hen’s teeth now (it seems) in synths (but so useful) and neither my Yamaha Montage or Korg Kronos have that feature.

So I am building my rig so that Cantabile becomes the hub and a powerful MIDI router/processor for my FC300, Montage and Kronos. And of course to drive my VSTs, but that VST useage comes in “Phase 2”. Phase 1 is to get my old setup in Welsh Floyd (FC300/EX5/Kronos/Cantabile) working again as I may need it pretty quickly due to another band coming up where I can reuse the setup. So Phase 1 is to just Cantabile as a MIDI router/merger/hub for everything and get the old song setups I had back (bearing in mind I have had a fundamental hardware change).

I achieved this on Monday for one song (and all the changes in it), I mention all of that above, because I am doing what you want to do (I think!) and it is quite doable using Songs as Patches (no need to think of them as songs). If you haven’t sussed it by the weekend (I am away at the moment), shout out again and I will take you through what I have done (when I can get some screenshots)


The bindings are thinking your controller is sending the Pg change but it is not. Your Korg must not send out external program change messages. So, the next step would be to check your MIDI implementation chart for your Korg and see if that capability is listed. One sure test is, instead of manually creating the Source for your binding, use the ‘Learn’ function instead. If you use ‘Learn’ and nothing happens when you press the button on your keyboard then the button isn’t making a message to send to Cantabile. Try that and see if anything comes up.

1 Like

And you can always use Cantabile’s MIDI monitor to check that the data is getting into the software and what it is.

1 Like

Thanks for help. It was in fact the keyboard not sending PC msg. I changed the global midi setting and all is well. I’m still a bit confused about the bank change format. Was I correct to assume that 4.68 will select the fourth bank and patch 68?

Derek, thanks for your reply. Yes I am interested in building a setup as you describe. But I wonder - will this require mousing or typing during performance (I don’t have touchscreen)? That could lead to lots of errors. If you’re sure of your setlist you can advance patch changes in setlist order easily. In my band setlist deviations are the norm. My fingers are closer to my synth buttons in performance so I am hoping to control Cantabile sounds from the keyboards.

Hi, Kenny

Whilst my set lists are fairly structured, I do not often have time to take my hands off the keyboards when playing, as quite often I am changing patches mid song and need a smooth transition. So I have a Roland FC300 foot pedal to let my feet do the switching work (including modulation duties). The FC300 is a very flexible generator of MIDI messages, and I have Cantabile setup to respond to its messages and select songs as required. If you have buttons on the keyboard for doing that, it should work the same.

The footswitch sounds like a good solution in your situation. But my patch numbers are widely separated. I may go from 68 to 92 to 75 meaning I would need too many clicks. On my synth that’s only two button presses.

My band repertoire contains more than 60 current and past selections from which we play a variety on any night. Even if I created a Cantabile “Song” or footswitch “scene” for every song (some of which contain multiple patch changes as well) I would need many clicks to get around. For now I will try to stick to sending button presses to Cantabile.


If your two button presses result in a unique message for each song (e.g. Patch1, Patch2, etc) that Cantabile can detect which you can bind to then it will do the trick. As I said, the source of the message will not matter.

Interesting. The first button press on my KORG specifies the 10s column and the next press is the 1s. In other words, 9 then 5 for 95. There is no ENTER button. I see Cantabile respond to each number as it’s pressed. Is there a binding that will wait for two correct msgs before acting?

I think that would be 5th bank patch 67 (if it is a zero based addressing system, Bank 0 is the 1st Bank) Cantabile can be set for either a 0 or 1 based addressing system. The default is zero in the MIDI world.

Are those patch change messages being sent or something else?

I’m going to check that out as soon as I have time.

OK. Let us know what you find. I am back home now, and half way through getting my old Welsh Floyd set list up and running again. As mentioned above, at this stage, for this set list, Cantabile is only being used as a MIDI, Hub and Processor, and it is doing it really well.

Thanks to those who helped me identify my keyboard as the culprit for not sending out Program Change msgs. I have changed that setting and C3 is responding.

I need my vsts to sound or silence depending on my hardware button presses. I can do this with a toggle binding but that is not helpful as it requires more button presses, and more room for error on stage…

What I need is a binding that will “suspend” the vst for all Program Changes except one. In programming this is called a NOT operator. One binding would set the vst to “Resume” for PC#68 for example, and “suspend” for any other. Is anybody aware of how this can be done.

If all your setup changes are initiated by program changes, I wouldn’t work with individual bindings at all, but use song states instead.

Each song state is essentially a configuration of all your loaded plugins, racks and routes, so e.g. state 1 would have instruments 1 and 3 active, with specific patches for them loaded, state 2 then would have instruments 1 and 2 active with different patches (and maybe different keyboard zones).

So essentially, each state is a (very complex) “preset” of your whole setup, which can then be called with one simple binding:

Each song state contains a (banked if needed) program change number, so you can have a separate state for each program change that you use.

Now you can simply set up your states for each program, with active instruments and their presets, routing, effects etc switched automatically with one state change.

Regarding “suspending” instruments: there are a number of situations where suspending an instrument and waking it up again will introduce a delay before the instrument becomes active (I had this with FabFilter Twin through a Voxengo Boogex amp), which may be pretty problematic in a live setting. In this case, if the processor load allows it, I’d recommend the @Neil_Durant method of keeping all instruments active and simply switching the active/inactive state of the routes to them via states. This also ensures that sounds from an instrument don’t get cut off when taking it out of the configuration.

Take a look at @brad’s guides and videos on song states and routes - very useful!

Hope this helps!