MIDI Track Program Selector Not sending Correct Program Change Message to External Synth


I have a PSR-A3000 by Yamaha which I use it for my ethnic composition. I created the patch script for it and it works fine. However, when I record a midi track with a selected patch ( say steel guitar of PSR), when I am close and reopen the project it does not play the correct patch and plays piano I guess first patch.

What should I do to make sure whenever, I restart my project and my restart my External Synth, cubase plays the patch shown in the program selector on my external synth PSR-A3000 and not the piano?

Any help would be appreciated.


Do you save the project as CPR or do you export it as MIDI and import it back to Cubase?

What sound (patch name) can you see in the Inspector after project reopening?

The midi program selector in the Inspector is nice for browsing sounds but unfortunately is doesn’t send the program change at startup of the project. As far as I know there are two ways of doing this within Cubase?

  1. Create a program change entry in the list editor at the beginning of the track or where you want the program change to take place and edit the values so it will send the correct value.
  2. Most synths can be manipulated to send the complete patch data in SYSEX format. Sometimes by just pressing the next patch button on the synth? Record this at the beginning of the track. As you start to play the project it will automatically send the patch data to you synth. Just make sure you have sysex on ‘chase events’ disabled. Otherwise it will send this information every time you start/stop playback. And you probably don’t want that to happen? :wink:

There are more exotic ways of doing this like using MidiQuest but above are 2 ways I know that will work within Cubase without investing in other applications.


I just tested this. The Program Change and the Bank Select MSB and LSB (set in the Inspector) are sent to the MIDI Output when I load the project.

For some reason I have never been able to get it to work with any of my external synth? I can browse all patch scripts and they send this to all synths? But on startup I can’t get to work. Maybe something in my my midi setup? I gave up on it a long time ago.


Could you try to disable the preferences for some time (rename the preferences folder or Cubase Safe Start Mode) and try it, please?

Hi Martin,
Thanks for the tip! But It also didn’t work in former versions like CB8 and CB9. But just for the sake of it I will give it another try when I get to my studio later on today. :slight_smile: I’ll also take a look with Midi-ox and see if the correct bank and program change messages are being send out?

The ‘Studio Module’ up until version that was dropped starting from SX1. Those where the days you could ‘almost’ have a perfect total recall in Cubase? :frowning:

Thank you for the great tips. I will try them out when I am in my studio.

No, The project is saved as .cpr and when I open the MIDI tracks ( or instrument tracks), it shows correct patches selected on my Yamaha PSR-A3000.

Not very related. But I use the score editor manual for SX1 for Cubase 10. Sometime, I feel I need to run my old windows machine.


You imported the script in MIDI Device Manager and you can select patches from a list in the inspector of the MIDI track?


As the original report says, this works until the project is reopened. Or am I missing something?

Yes, I can.

Just wanted to make sure of that.
I’ve been using MIDI Devices for several external instruments/FX for years. Only time it don’t work is when the project is loaded before the gear is turned on.

Do you have another device you could test with?

It does not matter, in my case. It happens when I have the project loaded after the Ex Synth is on. As I said, i have to for every patch, change it to another program, play with keyboards, and the put it back to the desired/original channel. That is tedious.

Whaddaya know. Yesterday I decided to thrash my preferences because lately I was noticing some sluggish behaviour anyway. And after starting Cubase again it works! Tested it on 3 synths simultaneously and all get the bank/program change I set in the inspector when opening project.

The only thing I’m curious about now is if I can do additional program changes during the project without it chasing the one set in the inspector? Didn’t have time to look into it yesterday so will check later. But thanks again for the hint, Martin.


In order for this to work your synth must be in the right mode before you send the change message. I’m not sure about this PSR-A3000 but a lot of synths have modes like patches, multi’s. performances, etc? So if the A-3000 starts up in multi mode and you send a patch change to it it probably won’t work. So you either have to manually set your synth to the right mode or make sure the patch script sends this mode message as well.


Yes, you can, it works this way.

Thank you so much. I guess I did record the next patch event into cubase. Then I wrote a LE preset to push it back to the very start of the project and merged my first round of MIDI recording with that. It works. Thank you very much!

PS. The weird this is that when I change the patches in the program selector, it does not change back to the original. So the program change messages do not communicate with program selector in the inspector. I guess they should!

Martin, How do you monitor it? Do you use an app on your mac for monitoring MIDI signals or you do it via Steinberg tools?

Thank you again for your time.

There is a midi plugin in Cubase called ‘Midi Monitor’. You can insert that on the midi track and see what messages are send and received.