RD-300GX drums on midi channel 10 plays piano!

Joined
Jan 13, 2018
Messages
4
Reaction score
0
Location
Los Angeles area
Newb here and maybe I should post this in the midi forum?

Anyways, I have an RD-300GX and I'm trying to use it to play live, but also have accompaniment and/or drums coming from my PC with a midi program. Whatever midi program I use, I can't get the GX to play drum sounds even though I set the pc to play on channel 10 If I send a program change message on channel 10 I can change from piano to other patches to play, just not drums (which I don't think even have a program number).
I've hooked up other keyboards to the midi cables and they play drums on ch.10 fine. I've also used the USB/MIDI connection built into the GX with the same results.

I'm fairly new to midi, but is the GX even capable of playing drums on channel 10 from midi? Sure would like to know how. Thanks!
 

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
4,147
Reaction score
1,780
The DRUMS = CHANNEL 10 thing is really a General MIDI Level 1 (GM, or GM1) requirement, since the GM1 specifications didn't have Bank Select messages. So in GM1 you're limited to 128 Program Change numbers for the "melodic" instruments-- i.e., the ones where each Note event plays a different pitch. And since there is no Program Change number for the drum kit, there's no way to select between a melodic instrument and the drum kit, hence the drum kit is exclusively assigned to channel 10, such that the drum kit cannot be played on any of the other channels, and none of the melodic instruments can be played on channel 10.

However, that limitation and its corresponding requirement were removed in General MIDI Level 2 (GM2), as well as in manufacturer-specific extensions of General MIDI Level 1 such as GS (Roland) and XG (Yamaha), thanks to the introduction of the Bank Select MSB and Bank Select LSB events, coupled with multiple drum kits that can be selected just like the melodic instruments by issuing a specific combination of Bank Select and Program Change values. Drums are still frequently used on channel 10, and are often used on an additional channel as well (typically 9 or 11, I think), but that's now a recommendation rather than a requirement, since it's now possible to select a melodic instrument on channel 10 or a drum kit on any channel.

I'm not that familiar with Roland's GS extension of MIDI, but I know that Yamaha's XG extension of MIDI has some XG System Exclusive messages which can be used to set the voice mode (melodic or kit) for each of the keyboard's multitimbral parts and their associated MIDI channels. In XG the default is for channels 9 and 10 to be set to kit mode, but that can be changed using the proper XG SysEx messages. Also, I'm not sure, but I think that incoming MIDI messages will automatically override those defaults, since the keyboard's multitimbral parts and the MIDI channels are actually independent of each other (they do conform with each other on a one-to-one basis by default, but the assignment of a particular multitimbral part to a particular MIDI In or MIDI Out channel can be overridden as desired). Roland's GS extension may have something similar to that.

Anyway, refer to your RD-300GX documentation to see which Bank Select and Program Change numbers are used for the particular drum kit(s) you want to use, then make sure you send those values in a sequence of Bank Select MSB, Bank Select LSB, and Program Change messages on whichever channel(s) you want to use the drum kit(s) on.

Note that if you don't send any Bank Select/Program Change messages on a particular MIDI channel, and haven't already set that channel to a specific sound, the receiving hardware or software will usually default to Bank 0/Program 0, which is typically the Acoustic Grand Piano-- but it might be something else depending on the hardware or software, or which mode the hardware is in, etc.

Of course, if the hardware or software is limited to GM1-compatibility, then you'll get drums on channel 10 regardless of what Bank/Program you try to select, and likewise you'll get one of the 128 GM1 programs on the other channels even if you try to select a kit voice (percussion kit or sound effects kit).

If you send a Program Change without an accompanying Bank Select then the receiver will usually default to Bank 0-- unless a different bank has already been chosen by a previous Bank Select message or by setting the receiver's mode (e.g., to switch to a special bank of user-defined patches).
 
Joined
Jan 13, 2018
Messages
4
Reaction score
0
Location
Los Angeles area
Thanks for the great reply, Michael! I would have thought that after 20 years, working with midi would have been made easier. Your tip about GM1 compatibility put me on a course to send some initialization strings to the keyboard. At one point, I sent a GM1-On string (f0 7e 7f 09 01 f7) to the keyboard and amazingly, channel 10 started playing drums!!! Not sure why the keyboard would have defaulted to GM off but I'm heading in the right direction.
I'm trying to now switch between drum kits with a midi command but not doing well. Attached is a snip of the midi chart.

Roland 300GX midi - bank select.jpg

It looks like I should set msb=56H and lsb=40H then a program change to a drum kit from 1-5. So far it seems to be working!

 
Last edited:

SeaGtGruff

I meant to play that note!
Moderator
Joined
Jun 6, 2014
Messages
4,147
Reaction score
1,780
Not sure why the keyboard would have defaulted to GM off but I'm heading in the right direction.

Since it's a Roland keyboard, it probably defaults to the GS-compatible mode, since GS has more sounds as well as more sound-parameter commands (such as attck/release times and cutoff/resonance filter settings) than are available with GM1.

In the case of a Yamaha keyboard, the default would probably be to use the XG-compatible mode, for the same reasons.

I'm trying to now switch between drum kits with a midi command but not doing well. Attached is a snip of the midi chart.
View attachment 993
It looks like I should set msb=56H and lsb=40H then a program change to a drum kit from 1-5. So far it seems to be working!

That looks correct, but I should point out that the Program Numbers are expressed as 001 - 128, which means they're offset by 1 from the values that MIDI actually uses (000 - 127, or 00H - 7FH). It's a common practice to add 1 to those numbers when listing them for "mere humans," similar to the way that the MIDI channels are commonly referred to as 1 - 16 even though their actual values in MIDI messages are 0 - 15 (0H - FH). There's no consistency about how different hardware and software express these numbers, so you'll want to check your sequencer software to see whether it numbers the programs as 001 - 128 or as 000 - 127. If it's the latter, you'll need to reduce the listed numbers by 1-- i.e., the five rhythm sets would be selected by Program Change 00H - 04H, rather than 1 - 5 as listed.
 

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

Forum statistics

Threads
14,399
Messages
89,669
Members
13,346
Latest member
Rajitha

Latest Threads

Top