External synth patch changes

Hi all, total newbie question here. I’m looking through the guides, but I don’t see anything about controlling external synths from Cantabile performer. Just wondering if anybody could point me in the right direction for documentation.

For background, what I’m trying to do is program a long sequence of keyboard splits/layers/patch changes – I’m playing for a musical. Seems like keyboard books nowadays assume the use of mainstage, and just trying to figure out if I can do what I need in Cantabile. Not using any plugins, just trying to use a Yamaha Motif XF7.


My approach with the MoXF 8 was to just put the Motif in song mode and let Cantabile send it patch change messages on all 16 MIDI channels.

Hey thanks. I can try that…

Just on a more basic level though, how do I set it up to send patch changes to an external synth though?

I’m not an expert by any stretch, but I do trigger a lot of patch changes with Cantabile-- it’s the most common use case for my setlist. I have them set as a binding for each song. The binding is trigged on Song / On Open, and sends the program change I want. Not sure about your keyboard, but for my Alesis which has multiple banks, I send two commands: one for the bank and one for the individual program change.

1 Like

I just set up racks for instrument types with rack states for the patches, with a state dependent On Rack Load bind that sends the appropriate Banked Patch Change message. Load the rack, set the MIDI Out to the Motif on the channel you want, and select a rack state.

1 Like

Hi, I’m actually writing a guide to show others on how I have setup Cantabile Performer in a setup that mixes external synths with VSTs (some people on Yamaha forums were asking!). Hope to have the first draft by the weekend.


For maximum flexibility, I’d suggest the following

  • set the Motif to multitimbral mode (Mixing mode, I guess)

  • turn local MIDI off (Utility/Control/MIDI/Local Control/Off) so that your Motif keyboard only goes to Cantabile

  • now create a number of linked racks for as many instruments you’ll need for your layers / splits etc. You may want to create and set up a single one first and then simply copy / modify it later

  • In this rack, you just create one route from Rack MIDI In to your Motif Output port. Make sure that this route has its source channel set to “omni” and its target channel set to 1 for the first rack, 2 for the second, 3 for the next etc.

  • Now create a binding from Rack States / OnLoad to your Motif Output Port / Program Change (banked) with the same MIDI output channel you chose as the target channel for the rack

  • Enable “Target” state behavior in the “State Behavior” box for this binding

  • Now create new rack states for each preset you want to use in this rack, then change the program change message for each of them (and be sure to update the state). You can use the format xx.yy.zz for your program changes, with xx for bank select MSB, yy for bank select LSB, zz the actual program number. You’ll need to find out the correct bank select numbers from your Motif documentation; I think MSB is always 63 and LSB goes from 0 to 10 for preset and user banks

  • Now you have a rack that you can use to send MIDI to one voice slot and use rack states to select presets on your Motif for this slot

  • Create as many racks as you need different voices in your layers and splits (and maybe a few spares so you can avoid brutal sound switches between scenes. Set each of them up with the same or different presets, depending on your needs. Be sure that both the routing and the program changes go to the same channel for each such rack, but to different channels across the racks. Rack 1 goes to channel 1, rack 2 to channel 2, etc - that’s easiest…

  • Now you can create your splits and layers entirely inside Cantabile at song level by using routes from your main keyboard (and any others you have connected) to your racks and setting their route properties like keyboard range, velocity range, conditions.

  • You don’t need to bother with any channel re-mapping on your routes, because your racks do all the channel mapping for you. So you simply create a route from main keyboard to rack 5, and it should play on this channel on your Motif. Now create multiple routes from your main keyboard to create layers or splits - that’s where the fun starts.

  • use song states to create “scenes” for your show - for each scene, you can select different patches for your individual channels by selecting different rack states, and you can change your keyboard routing by activating / de-activating different routes and changing their properties (make sure that “Enabled”, “Key Range”, “Transpose”, “Velocity Curve” and “Condition” are ticked in every route’s state behavior).

If this all sounds like a bit too much, make sure you work your way through @brad’s excellent intro videos on routes, racks, states and bindings - then read all of the above again :wink: