Program Change Banked - Sending bank/program change to a synth on song start

In Cantabile 2 I used to be able to send bank/program changes using x.x on load. I am having trouble getting this to work in Cantabile 3. I need to send a 0.41 to my Nord Wave to change the patch to 1.41 on the synth itself, which works fine in Cantabile 2. I’m using a Source > Song > On Load > Target > Midi Path > Program Change (Banked) 0, 41 as in this image:

However it just changes the 0 to 1, and I’m not getting the bank to change. 0.41 is the correct value (I checked it by doing a learn, and Cantabile 3 does see it fine). I am confused since I can see the setting here in learn:

Then if I click ok I can see the synth as the source, and also am seeing Program Number option just to the right of the Event text:

I guess I’m not sure why there isn’t the same option on a target when using a Song > On Load > Target Midi Port > Program Change Banked > Value:

It kind of seems like this should be where I can choose my bank and program using 0.41 (Value column to the right of the target action), but I am not able to. Am I missing something or does this need to be done differently?

Hi Zorkiii

When using Banked messages and using Bank 0 then no Bank prefix is required. Just enter the program number. Just remember that in Cantabile 1-128 equates to 0 -127 in real MIDI. As soon as you type 129 in and enter it automatically adds the prefix and you get 1.1. So …

  • 0 -127 (just enter the program number) 0 becomes 1 in C3
  • 128 and up (enter the bank followed by the program number or enter the raw number and let C3 interpret it) C3 does the rest and sends proper MIDI message


Thanks, I was able to send patch changes using the period separating, so to get to 1:41 I have to enter 41. To get to 2:54 I have to enter 1.54.

I think I was a bit thrown off the path with the text in the Value field that states “(Value: Separate sequence values with ‘,’ character)”. Is the sequence value / comma used for something other than Program Change (Banked) messages? I only ask since entering a 1, 54 does not pull up patch 2:54 on the Nord Wave. If I enter 1.54 (decimal and not comma) it does pull it up. Just thought I would check for clarification on the message “(Value: Separate sequence values with ‘,’ character)”. Thanks!

Hi @zorkiii

There’s a few things going on here…

Banked program numbers can be entered in a few different ways.

  • pr eg: “30” = bank 0 program 30
  • - eg; “10.20.30” = bank msb 10, lsb 20, program 30
  • - eg: “10.30” = bank 10, program 30
  • eg: “1000.30” = bank 1000 (where Cantabile will calculate the msb/lsb), program 30

You can always enter banked program numbers in the above formats, but Cantabile will always display them using the settings in Options -> General Formatting - > Program Banks

The bank number part of a banked program number is always zero based but program number part can be zero based or one based depending on the Options -> General -> Formatting -> Program Numbers -> One/Zero Based setting.

(by one-based / zero-based I mean whether the first program number is zero or one).

As for where it says “Separate sequence values with ‘,’ character”, this is talking about something different. That type of binding can send a different value each time it’s invoked. So if you enter “10, 20, 30” the first time you invoke the binding it’ll send bank 0 program 10, the second time bank 0 program 20 and the third time bank 0 program 30.

If you entered “10.20.30, 10.20.31, 10.20.31” then it would send bank msb 10, lsb 20, pr 30 the first time, same bank and pr 31 the second time etc…

Make sense?



Oh wow, that’s a feature that slipped under my radar!! I can think of all sort of cool uses for that one! :relaxed:



General question that fits here (sort of): If I have a global binding that selects absolute setlist songs via external midi program change. PC 27 selects the 27th song in setlist, etc.

I also have bindings in each song to send(instant) bank.pc messages out to my instruments.

This works fine now, but if I resend the same PC to Cantabile while that selected song is still active, will Cantabile resend the PC messages to my synths?

~ vonnor

Hi Vonner,

On my system it does resend the messages to external synth each time a Song “on load” binding is triggered by a PC even if the Song is already loaded.


Thanks Dave!

~ Bill C. (vonnor)