UPDATE Midi voices that I can't get to

Hello guys,
I’m working on some old (1997) songs that I’m finally going to finish. When I pull up the old project file (which was actually a Nuendo file that opens just find in Cubase12 Pro) all of the tracks are correct when it comes to midi data and track name. Some are also correct on the correct instrument voice…but others are not.

It’s actually a pretty straight forward issue.
I have a General Music S2 Turbo keyboard which is a multi-timbral, 32 channel midi work station. I haven’t used it as a workstation in a very long time but some of the sounds on this board are great and unique and I’ve used them in some of these songs.

Anyway, the issue is the sound I need called Underwater has a program number of 102-3. Is there a way to have Cubase send 102-3 or 102.3 rather than just the 102? When I put in the “102” it brings up a sounds that isn’t correct. The Bank selection within Cubase is ignored by the keyboard.
At the beginning of each midi track in the song I encoded program data for things like the sound/voice use on a particular midi instrument. I have 8 ports of midi.
So if I want a sound from the General Music keyboard I make sure the output is set to port 2 and I would pick a channel based on what slot I wanted the sound in. So there would be a list of 16 sounds on the screen, each on it’s own channel. If I want sound 3 in this list I choose channel 3. Then send the programing change data…but I can’t get to 102.3 just 102.
Any thoughts on this guys?
Thank you


With the MIDI (1) standard, there are only 127 values (whole numbers). You cannot send 102.3. With the new MIDI 2.0 (what is very fresh standard), you can do this. But I don’t believe this is what is the old instrument expecting.

Please double-check the manual.

1 Like

Guys I just figured it out. I recall in the 90 using Calkwalk that if the midi devices isn’t GM it might not respond to banks as expected. Then I had this vague memory of using the bank but rather use simply trying to use Bank 3 for my 102-3 voice…I brought the Bank number to 256 and it worked.
0-127=Bank 1
128-255= Bank 2
256-383= Bank 3
384-511 =Bank 4
512-> = Bank 5

Thanks Martin!

Ok got that figured out…now how to I put this program change at the beginning of the track so the instrument switches to the correct voice?

Isn’t there a way to add a midi data track?
I tried enabled record on the track and messing with the track program numbers and banks but it didn’t seem to input the data in the midi recording.

I must be missing something here?

I enabled the tracks automation and choose CC for the control and bank number but it only goes to 127.
There’s got to be a way to do this. Especially if the bank numbers in the track goes to well over 1000

Ok I guess Cubase can work in different ways when it comes to automation and program changes?

I noticed that I had program information at the very beginning of every track for this keyboard. I’m using four or five difference sounds from this board.
However I noticed that Cubase was ignoring the Program change and bank number…until I enabled READ automation. Now it picks the voice 102 and Bank 3 which is number 256 in Cubase. The strange thing is there is no automation data…Even when I show the Automation track, there is nothing in it? So how is Cubase sending the data to the keyboard??

I guess enabled the Write/Read then hitting record and quickly changing the Inspector’s setting for the track to “Program Selector” to 102 and “Bank Selector” to 256 (which equals bank 3 on this General Music S2) then stop recording and disable Write and leave on Read does the trick but I don’t see any data for this being recorded within the track. Weird. Obviously the data is getting to the keyboard…but how?

Your device expects a pair of MIDI messages for a program change if it is not on the primary bank.

Make sure to send CC#0 with a value of 3, then the program change with a value of 102. I recommend using the List Editor to draw/create these messages.
I put the position of the program change one tick behind the controller to make sure it always is send after it.

The reason why you come up with 256 is that 256-383 equals the value of 3 if you insert a pair of Bank Select messages. I don’t want to explain this here as you seem to have trouble enough already understanding how this MIDI stuff works.

1 Like

Thanks Johnny for the recommendations and the passive insult. Very nice touch.

Yeah, sorry, didn’t want it to come across insulting.

I try a short version:
BankSelect can be send in pairs, BankSelect MSB and Bank Select LSB (controllers 0 and 32).
Each of them have a value range of 0-127.
If MSB = 0 and LSB = 127 you end up with a value of 127.
If MSB = 1 and LSB = 0 you end up with a value of 128.

The formula is something like this:
(MSB * 128) + LSB = bank select value

Your synth starts to count the banks with number 1. Cubase starts to count with number 0.
Thus if bank 3 is indicated on your synth you need to insert a value of 2 in Cubase.
This having said my screenshot example is showing the wrong values. Instead of CC#0 = 3 and progChange = 102 you need CC#0 = 2 and progChange = 102.
(Cubase starts controller values with 0 but ProgramChange values with 1. Tricky little beast that Cubase)

A fortunate surprise is that this is actually explained in Roland’s manual on page 97 showing Cubase on Atari:

1 Like

Hey thanks man!! That’s great. I wasn’t sure if it was your intent to add that “dig” at the end but the truth is I’m have some medical issues that are effecting memory and sleep. I did recall having this problem with banks a long time ago when using Nuendo 5 . Somehow I recalled it the other day. So although I’ve been using MIDI with Calkwalk from the earlies 90s I never did study how it worked. Which is odd for me because I a “tech guy”. Anyway thank you for taking the time to reply without ripping my neck off (in words) and being helpful. I truly appreciate that very much!


1 Like