Sending a midi note (for keyswitches) on state change


I’m a newb to Cantabile, so excuse the possibly inane question!

I have a rack in Kontakt, containing several instruments on different MIDI channels. Some of the instruments have keyswitches to change between different articulations. My problem is, if I use one articulation in a song, then I go to another song with a different articulation on the same MIDI channel, it uses the previous articulation…

What I’m asking is, is it possible to send a MIDI note to engage the right keyswitch when you change from one state/song to the next?

I hope this makes some sort of sense!



Makes a lot of sense - and this is what bindings are for. Create a binding with source “Song States” triggering “On Load”. Target this to your rack, with the action “Note” and the respective note. Also create another one to send “note off” for the same note.

Now make sure that “state behavior” is activated for “Target” for these bindings, so you can set different notes as target for different states.


Have fun!


1 Like

Hi Torsten,

Thanks very much for the help, but it doesn’t seem to work!

I’ve set it up just as you’ve described and when I click on the play button next to the binding, the indicator flashes green, the plug-in is receiving some MIDI data on the right channel, but it’s not actually sending the note! I’ve included my song file so you can see, to check if I’ve been an idiot!
As you can see, at the moment, I’ve got a 2nd MIDI route to map the bottom notes of the keyboard to the Keyswitches which works fine if I’ve got time after the patch change to hit the notes but most of the time, I haven’t!



Beggin’.cantabileSong (29.0 KB)

Hi Pierce,

I can’t really diagnose your song file, since it is missing the rack (Frankie Valli Default). Without it, all bindings show “missing target” and “invalid binding”.

I substituted one of my racks and changed the target to that one. Now I found that your bindings are only active in song part 2 (m12). In the other song parts, they are de-activated and don’t have a valid action (“Mapped” won’t work with a song state event).

Now for song part 2, you have one bug in your binding: you ARE sending Note On to your rack, but you are sending it with a VALUE of 0, which is the same as sending Note Off. Your plugin will (correctly) ignore this Note Off command.

So first thing you need to try is to change the value of your Note On to something greater than 0 for part 2 - try 127. This should help…



Ok, I worked it out!

I don’t know why the song file I sent you had that value at 0, I put it at 127…

Anyhow, I worked it out. My Plug-in said that the keyswitches were on C-1 C#-1 and D-1. For some reason, Cantabile thinks that that’s C-0, C#0 and D-0! Now that I’ve worked that out I can get it all working!

Thanks for your help!


Hey Pierce,

that is actually a setting you can make at Tools → Options → General → Formatting.

There are two “schools” on MIDI note numbering: “Middle C”, i.e. note number 60 is called “C3” for some manufacturers / software companies (e.g. Yamaha, Steinberg) , others (Roland, Kurzweil, Sibelius) call the same note number C4. Cantabile gives you the option to choose either (or even C5).

Essentially, you need to make a choice what middle C is for you and know which of your instruments and plugins diverge from this standard (so you know where you need to translate). Or be sure to work with absolute note numbers - Middle C is always 60…



BTW: one could make an argument that the C4 fraction have things “more correct” than the others. At least, they’ve got science behind them: the “scientific pitch notation” defines middle C as C4 - see Wikipedia. Anything else is just an arbitrary convention by individual manufacturers with no standards body behind them (MIDI spec only defines middle C to be note 60 and 440 Hz to be note 69 - nothing about octave numbering). The next most reasonable convention for me would be to define C0 as MIDI note 0 - which would put “middle C” at C5

With the scientific logic behind it, I’ve chosen C4 as my middle C standard (plus the fact that my lovely Kurzweil main keyboard proudly displays “C4” at its center :wink: )