GM–GS–XG quick reference
This is a help page listing which MIDI messages can be used for common things across General MIDI, Roland GS and Yamaha XG.
Note that there doesn't seem to be a formal GS standard that is publicly available, so the Roland SC-55mkII manual is the best reference for GS.
| Ctrl # | Function | Notes | |||
|---|---|---|---|---|---|
| 0 | Bank Select MSB | ❌ | *️⃣[1] | *️⃣ | On GS, this selects variation instruments. On XG, this selects banks. Common numbers:
|
| 1 | Modulation | ✅[2] | ✅ | ✅ | Vibrato by default |
| 5 | Portamento time | ❌ | ✅[1] | Value 0 is fastest | |
| 6 | Data entry MSB | *️⃣ | *️⃣ | *️⃣ | (Used for RPNs and NRPNs) |
| 7 | Volume | ✅[2] | ✅ | ✅ | |
| 10 | Pan | ✅[2] | ✅ | ✅ | |
| 11 | Expression | ✅[2] | ✅ | ✅ | |
| 32 | Bank Select LSB | ❌ | ❌[1] | ✅ | On GS/the SC-55, this does nothing. But the SC-88 onwards use this to select maps:
On XG, this selects variation instruments. |
| 38 | Data entry LSB | *️⃣ | *️⃣ | *️⃣ | (Used for RPNs and NRPNs) |
| 64 | Sustain | ✅[2] | ✅ | ✅ | AKA Hold |
| 65 | Portamento | ❌ | ✅[3] | ||
| 66 | Sostenuto | ❌ | ✅[3] | ||
| 67 | Soft | ❌ | ✅[3] | ||
| 84 | Portamento Control | ❌ | ✅[3] | ||
| 91 | Effect 1 depth | ❌ | ✅[3] | ✅ | GS and XG: Reverb send level |
| 93 | Effect 3 depth | ❌ | ✅[3] | ✅ | GS and XG: Chorus send level |
| 84 | Portamento Control | ❌ | ✅[3] | ||
| 98 | NRPN LSB | ❌ | *️⃣[3] | *️⃣ | (Used for NRPNs) |
| 99 | NRPN MSB | ❌ | *️⃣[3] | *️⃣ | (Used for NRPNs) |
| 100 | RPN LSB | *️⃣ | *️⃣[3] | *️⃣ | (Used for RPNs) |
| 101 | RPN MSB | *️⃣ | *️⃣[3] | *️⃣ | (Used for RPNs) |