Achieving same sound through MIDI Program Change as on-board voices. Yamaha DGX-660

Joined
Mar 23, 2019
Messages
3
Reaction score
0
Hello,

New to MIDI, so I apologize if this is basic stuff.

TL;DR How do I signal a voice change to my keyboard through MIDI and still get the same sound as if I just punched it into the keyboard itself?

I will be using two Yamaha keyboards for a pit band part for a musical. I have a Yamaha DGX-660 and a Yamaha PSR-E403. To ease the program changes, I've started looking into MIDI options. The keyboards have adequate sounds built in, so I was hoping to use MIDI to just signal the changes to the keyboards and go from there.

I've downloaded Midi-Kuper LE, found the tables indicating the bank information for each voice, and started poking around. I thought it would be simple. I want the DGX-660's voice 26, so I look it up on the table, see that it's LSB 113 PC# 17. I make a scene in Midi-Kuper that sends 113.17 (also tried 113.16) on channel 1. Nothing changes on the keyboard's display, but the sound coming out has changed. It's not at all the sound I would get if I just selected 26 on the keyboard without going through a computer. In the keyboard's settings, I have set PC Mode to PC2 and I've also tried turning Local to Off.

MidiKuper Jazz Organ 2 attempt.PNG



I downloaded MIDI-OX and tried to decipher the MIDI output when I changed to voice 26 on the keyboard.

DGX660 Voice 26 MIDI Output.PNG


So I tried the following in MidiKuper still with no success. The sound was closer, but not the same as on the keyboard alone.

MidiKuper Jazz Organ 2 attempt 2.PNG


So is it possible to easily recreate the sound of the on-board keyboard sounds using MIDI program changes? Or is it possible to send a signal to actually change the voice on the keyboard and use that on-board sound (i.e. make the keyboard display change voice to 26)?

Thanks for any help!
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
4,114
Reaction score
1,737
One thing you could try is to set the keyboard to Voice 000, which is the OTS or One Touch Setting voice. You may find that if you send a patch change while the keyboard is set to Voice 000, the keyboard will automatically change the additional settings associated with the requested preset voice— that is, the Channel Volume, Reverb Type, Chorus Type, DSP Type, etc.

By the way, as you can see in the MIDI-OX screen, you do indeed want to decrease the Program Change from the value that Yamaha lists, because Yamaha adds 1 to it when listing it— something that can create confusion, but which is apparently common practice within the MMA or MIDI Manufacturers Association in order to make the Program numbers more “human friendly.” (If you search online for the MMA’s list of GM or General MIDI Program numbers, you’ll likely see them listed as 1 through 128, even though they’re actually encoded within the MIDI data as 0 through 127.)

If setting the keyboard to Voice 000 doesn’t do the trick, then you might need to get more technical. There is an “Initial Send” function on your keyboards (abbreviated as “InitSend” on the PSR-E403) which will transmit most of the keyboard’s current settings (minus things like the Style Number) to the computer so you can record them in a DAW or other utility and save them as a patch file. This will capture all those other settings (Reverb Type, Chorus Type, etc.) which are associated with a given preset voice. Then you can transmit the saved patch settings back to the keyboard when you want to use a particular preset voice.

Another thing you’ll need to do when using this method is turn off the keyboards’ Local Control setting so they don’t make any sounds when you play them. You’ll also need to echo the keyboards’ MIDI output back to them so they’ll make the sounds when you play them. In other words, you’ll be using the keyboards as though they were keyboard controllers, but you’ll also be using them as though they were sound modules. This may seem crazy, but the reason for doing it is because “arranger” keyboards typically have “keyboard” parts (which are the voices you play on the keyboard, such as Main, Dual, and Split) and “song” parts (which are the voices used for the 16 MIDI channels of a song). That’s why you can send a patch change request but the keyboard will still play with whatever voice is selected on the panel, even though notes you send to it via MIDI will use the voice you selected with the patch change request. When you turn off Local Control and echo the keyboard’s MIDI back to itself, you end up playing with the song parts rather than the keyboard parts, so any patch change requests you send will affect the sounds you get while playing the keyboard. This roundabout trick isn’t necessary when using most synthesizers because they don’t have separate “keyboard parts” and “style parts” and “song parts” the way arrangers do; they just have “parts.”

Anyway, try setting the keyboard to Voice 000 first— with Local Control turned on— and see if that gives you the results you’re looking for when a patch change request is sent to the keyboard. And if that doesn’t work, turn off Local Control and echo the MIDI coming from the keyboard back to itself.
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
4,114
Reaction score
1,737
One other thing to be aware of is that MIDI Kuper looks like it uses a single Bank value, rather than splitting it into MSB and LSB values. If you want to select a voice whose Bank MSB isn’t 0, be sure to calculate the correct Bank value for MIDI Kuper— 128*MSB+LSB. I’m thinking you already knew this, but thought I’d mention it just in case, especially for anyone else who might come across this thread while searching for solutions.
 
Joined
Mar 23, 2019
Messages
3
Reaction score
0
Thanks so much for the quick response.

Unfortunately, the Voice 000 didn't work :( I'm still not getting the sound I want.

Another thing I tried was to look at the InitSend in MIDI-OX and then try to recreate it in MidiKuper using the Control Filters, but still no luck getting the right sound.
InitSend DGX660 voice 26.jpg
MidiKuper voice 26 attempt.jpg



Would you be able to point me to where I could learn how to record this InitSend as a patch and then send it back to the keyboard? I have Reaper, but there are a lot of settings and options - it's not exactly intuitive.
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
4,114
Reaction score
1,737
One thing I was wondering is whether the preset voice you're using has either Dual or Split turned on. If not, you don't need to worry about setting up channels 2 and 3. I don't see any preset voices in the Voice List which are specifically categorized as "Dual," so presumably none of the preset voices are layered by default, and if you want to layer the Main and Dual voices then you must manually turn Dual on. It won't hurt to set up channels 2 and 3 anyway, but you'll have to manually turn Dual and/or Split on, since they can't be turned on/off via MIDI.

The reason you aren't getting the same quality of sound that you're expecting is probably because of the SysEx messages which select the Reverb Type, Chorus Type, and DSP Type. I'll see if you can capture and save the "InitSend" in MIDI-OX. I'm also curious to investigate this MIDI Kuper LE program to see what it can do.
 
Joined
Mar 23, 2019
Messages
3
Reaction score
0
I was wondering what those Sysex messages were for. I can see the reverb, chorus, and DSP types in the keyboard's function menu, but I'm not sure how to send that info in a program change. I'll have to look again to whether it's a dual voice or not.

The MidiKuper LE can send program changes, but not CCs, splits, transpositions, dual voices, etc. The last screenshot I posted was using the trial of the Pro version, which opens up a lot more features.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
14,065
Messages
86,850
Members
13,154
Latest member
mhsmith451

Latest Threads

Top