Changing external keyboard voice with Cantabile

Hi everyone- I’ve just started using Cantabile Performer but seem to be having some issues getting it to do what I’d like it to- hoping you can help!

I’ve got Cantabile running fine on my laptop- ASIO driver is running fine and I’m getting inputs without any delay etc. I’ve got plugged into my USB ports a Yamaha PSR K1 and a M Audio Keystation. What I’d like to do is use the M Audio keyboard as a controller (i.e. to switch songs/states) and for each state to trigger a program change on the Yamaha PSRK1 (which I’ve hooked up my amp to). At the moment I’m trying to figure it out and I’ve got a binding set up that looks like this:

I’m basing the numbers in the value column off the Yamaha manual

However the keyboard isn’t responding at all to the change- am I missing something? Thanks.

Are you certain the PSRK1 is listening on MIDI channel 1, and that in it’s configured to respond to program changes? Often synths have a setting to enable/disable responding to program changes.

Obvious things you’ve probably checked, but I thought I’d ask just in case!


The keyboard has a “PC mode” which I’ve got switched on- beyond that I can’t find any other settings to indicate why it might not be responding to the change.

Try 0.112.7, and also 1.112.7. It shouldn’t make a difference - what you have in the binding looks correct.

Does anything happen if you click the little arrow in the binding next to “Song States” ?


Note also that the manual says the program changes are in the range 1-128, so if Cantabile is set to be 0-based (in settings), you’d need to send 6 to get what’s listed in the manual as 7.


Thanks for the suggestions. I’ve tried pressing the play button to push the command through, changing the values… everything you said but still no luck!

Hi pianoman91,

I need a little more info to be helpful so if you could answer a question. It looks from your binding that you are using the External Synth Out as the target. Did you configure this port to mate with the PSR K1 in the options for MIDI Ports?


Hi there,

I did indeed, the external synth option is the Yamaha Keyboard

Ok, can you play any notes back through it by routing your M-Audio controller to it with Cantabile (does it sound when you hit the master keyboard)? Also could you post your input routes tab all expanded?



Thought of this as well … If all your connections are good from Cantabile to the PSR then you could also experiment with the Program Banks formatting. I don’t know if will help I set mine to Bank and Program combined.


Thanks Dave: I will try your suggestions above. I did contact Yamaha to see if they could shed any light on the issue and they’ve responded, however I’m not quite sure what they’re suggesting to do. I’ve copied their response below if anyone can make sense of it.

Thank you for your email regarding your Yamaha PSR-K1.

The PSR-K1 will transmit / accept program change however this will not affect the Keyboard Voice which is how you are trying to work.
The only way this may work would be to set the Local control (see below) to off. This will stop the keyboard sound from working however if you can select a Monitor option in your software, this should route the note information back to the Keyboard.
If you then choose a new voice via program change, hopefully you should hear the sound change however the Voice display will not.

Oh interesting…so it seems from what they’re saying that if you change the voice via a program change, the voice display won’t change at all.

Furthermore, if you’re playing sounds on the keyboard directly, that sound won’t change either. You’ll only get a change in sound if you turn Local off, and route MIDI out from the PSR into Cantabile, and back out to the PSR again.

That seems really quite unusual for a MIDI keyboard. It’s as if the PSR’s own keyboard is playing a sound from some separate voice buffer, which is unaffected by incoming program changes. I think what you’ve tried so far would work on most synths, but it looks like the PSR might have a peculiarity in the way it handles notes played on its own keyboard.

So I’d suggest doing what they say - turn Local off on the PSR, and route the PSR’s MIDI out into Cantabile and back out to the PSR. Where they say “Monitor option”, this translates in Cantabile as setting up a MIDI route going from the input from the PSR, back out to the output going back to the PSR.



Seems very odd to me too that it won’t just respond to voice changes as expected.

So is this the routing I should be doing? The input from the main keyboard (the Yamaha) straight back out to the external synth output (also the Yamaha)?

1 Like

Behold- this routing worked! Thanks so much for your help! It seems like the keyboard was definitely the issue, but now the voice changes are working like a charm. Thank you all for your help.


Excellent!! Still, it’s a mystery why the PSR would behave like that! But good to know how to work around it :slight_smile:

Note: Now you’re sending your PSR MIDI into Cantabile and out again, you can also do other cool stuff, such as layer plugins on your sound Cantabile, modify the zone/transpose of the sounds played on the PSR on a song or song-part basis, pass it through arpeggiator plugins, and many other things :slight_smile:


1 Like