Sending progam change command to Yamaha MOXF8


No matter what I try, my program change commands only seem to get the GM set. According to Yamaha the instructions shold look something like 063 003 101 to select Internal Bank 4, Program 101. In Cantabile this turns into 63, 3, 101 and just gets me GM101. Bank Select is On in the MOXF Utility page but I think I must be getting the syntax wrong somehow. Would I be better off trying to do this with SysEx?


Hi Richard,

Are you using a binding or using a Song (or Song or Rack State) change to send the program change to the MOXF and can can you post a screen shot of your binding if you’re using one?



Thanks for the quick response

I’m using a Binding and on Song Load.



Hey Richard and @brad,

It looks like you found an error in the target value box instructions for the Banked Program bindings. The comma should be a period in the instructions. I use this banked command all the time on Roland equipment so use a period instead of a comma and stuff should start happening and thanks for pointing this out.

note that there are 3 different ways the banked message can appear in the binding when you hit enter and that you set this in the options. My example has the settings set to 3 separate numbers, there is also 2 numbers or one number option so don’t let the number fool you if it’s different than what you typed in originally…



Actually the instructions are correct because it’s talking about entering a sequence of values (as opposed to entering banked program numbers).


  • if you entered “6.3.101” - that’s the banked program number it would send.
  • if you entered “6, 3, 101” - then the first time it’ll send program change 6, the next time 3, then next time 101.
  • If you entered “6.3.101, 6.4.205” - then the first time it’ll send banked program change 6.3.101. The next time banked program change 6.4.205.

Make sense?



Sorry about that I misunderstood …


Thank you both for your contributions, they’ve been invaluable. I’ll try the correct syntax tomorrow.
I’m new to this whole way of working having previously used two dedicated hardware synths. I don’t have a complaint with the software but I wish there was a decent 76 note waterfall controller keyboard.


I can confirm that this works. I’ve been doing this with my MoXF8 for a while. It is a bit odd that Cantabile converts the first 2 numbers into a single number, but it still works.


Yep! Works just fine but won’t switch between Voice and Performance mode? Is this something I’m going to have to live with and create Performances for all my songs or is there some extra bit of syntax to do the job?



Switching between Voice and Performance mode requires Sysex commands. I have them on my laptop at home and can get them to you this evening, or you can do what I did and hit google. Took a good bit of searching if I remember correctly. There are several posts out there with different message definitions. I did eventually find one that worked.


Much appreciated, thank you. So presumably I create a binding on song load to switch to Voice or Performance mode and then below that another time delayed binding on Song Load to change the program number.


I would create a set of embedded racks. The Programs rack would have states for all the program patches you want to use. It would send a Program Mode SYSEX message on rack load, and a delayed program change CC message on state load. I’ll create an example this evening for you with a few piano/EP patches. You should be able to take it from there.


Vote here :slight_smile:



RichardLA, I’ve created 2 racks for you.

MoXF Mode.cantabileRack (19.4 KB)

This sets the mode based on the rack state. To use:

  1. Save to your “…/Documents/Cantabile/Racks” directory, or the sub folder of your choice
  2. Load an instance with Add Object->Embedded Rack (from file)
  3. Add a MIDI Out port to the instance and select your MoXF MIDI port, using port 1
  4. Select a new mode from the Rack States drop down box
  5. ???
  6. Profit!!!

MoXF Voice (Pianos).cantabileRack (7.0 KB)

To use:

  1. Same as above
  2. Same as above
  3. Same as above
  4. Select a patch from the Rack States drop down box
  5. Send me money
  6. I profit!!!

The reason I made 2 racks rather than just have the MoXF Voice (Pianos) rack automatically select the Voice mode is so you can set the MoXF to Song mode and add multiple MoXF Voice racks, setting the output port of each to a different channel. This allows for complex layered setups.


For anyone who is wondering why I used 4 separate bindings for the modes rather than setting 1 with target dependent on state, C3 3518 was giving me fits with the Sysex stuff. It was lighting up as triggered inside the rack, but not actually transmitting the message on the output. Weird stuff…

External synth patch changes
Yamaha MOXF Users on board?

I settled for a simple approach by putting the MOX into Song mode and then creating bindings to send program change commands on the relevant MIDI channels for each track in the set.
Thanks for the suggestions but they were a bit above my head. I don’t have an enormous amount of free time so learning the ins and outs of a piece of software like Cantabile proceeds very slowly