GM–GS–XG quick reference

From DTM Wiki
Revision as of 03:51, 26 August 2024 by Hikari no yume (talk | contribs) (Cite SC-88 delay)
Jump to navigation Jump to search

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.

Control Change messages
Ctrl # Controller name General MIDI Roland GS Yamaha XG Notes
0 Bank Select MSB *️⃣[1] *️⃣[2] On GS, this selects variation instruments.
On XG, this selects banks. Common numbers:
  • 0 = most normal/melody instruments[2]
  • 64 = SFX voices[2]
  • 126 = SFX kits[2]
  • 127 = drumkits (sets part to drum mode)[2]
1 Modulation [3] [1] [4] On GS and XG, this is Vibrato by default[1][4]
5 Portamento time [1] [5] Value 0 is shortest/fastest.[1][5] On XG, it is cent-linear.[5]
6 Data entry MSB *️⃣ *️⃣[1] *️⃣[5] (Used for RPNs and NRPNs)
7 Volume [3] [1] [5]
10 Pan [3] [1] [5]
11 Expression [3] [1] [5] On GS, this is multiplied with Volume to control overall volume.[1]
32 Bank Select LSB [1] [2] On GS/the SC-55, this does nothing. But the SC-88 onwards use this to select maps:
  • 0 = default
  • 1 = SC-55
  • 2 = SC-88
  • 3 = SC-88 Pro
  • 4 = SC-8850/SC-8820

On XG, this selects extension instruments.[2]

38 Data entry LSB *️⃣ *️⃣[1] *️⃣[5] (Used for RPNs and NRPNs)
64 Sustain
or Hold1[6]
[3] [6] [7] 0–63 = Off, 64–127 = On.[6][7]
65 Portamento [6] [7] 0–63 = Off, 64–127 = On.[6][7]
66 Sostenuto [6] [7] 0–63 = Off, 64–127 = On.[6][7]
67 Soft
or Soft Pedal[8]
[6] [8]
71 Sound Controller 2
or Harmonic Content
[8] On XG, relative adjustment of filter resonance (64 is zero change).[8]
Not supported on GS, but there is an NRPN. (TODO: Some later Sound Canvas models respond to this also. Which?)
72 Sound Controller 3
or Release Time
[8] On XG, relative adjustment of envelope release time (64 is zero change).[8]
Not supported on GS, but there is an NRPN. (TODO: Some later Sound Canvas models respond to this also. Which?)
73 Sound Controller 4
or Attack Time
[8] On XG, relative adjustment of envelope attack time (64 is zero change).[8]
Not supported on GS, but there is an NRPN. (TODO: Some later Sound Canvas models respond to this also. Which?)
74 Sound Controller 5
or Brightness
[9] On XG, relative adjustment of filter cutoff (64 is zero change).[9]
Not supported on GS, but there is an NRPN. (TODO: Some later Sound Canvas models respond to this also. Which?)
84 Portamento Control [6] [9] Value is MIDI note number.[6] On XG, ignores Portamento Time (always 0).[9]
91 Effect 1 depth
or Reverb send[6]
[6] [9] On GS and XG: Reverb send level[9][6]
93 Effect 3 depth
or Chorus send[6]
[6] [9] On GS and XG: Chorus send level[9][6]
94 Effect 4 depth
or Variation send
[9] On XG: Variation send level.[9]
Not supported on GS/SC-55, but SC-88 and onwards use this for Delay Send Level.[10]
96 Data increment *️⃣[11] (Used for RPNs and NRPNs) (TODO: check this)
97 Data decrement *️⃣[11] (Used for RPNs and NRPNs) (TODO: check this)
98 NRPN LSB *️⃣[6] *️⃣[11] (Used for NRPNs)
99 NRPN MSB *️⃣[6] *️⃣[11] (Used for NRPNs)
100 RPN LSB *️⃣ *️⃣[12] *️⃣[13] (Used for RPNs)
101 RPN MSB *️⃣ *️⃣[12] *️⃣[13] (Used for RPNs)
RPN messages
RPN
MSB
RPN
LSB
RPN name General MIDI Roland GS Yamaha XG
0 0 Pitch Bend Sensitivity [3] [12] [14]
0 1 Fine Tuning [3] [12] [14]
0 2 Coarse Tuning [3] [12] [14]

(TODO: add non-GS XG NRPNs)

NRPN messages
NRPN
MSB
NRPN
LSB
NRPN name General MIDI Roland GS Yamaha XG Notes
1 8 Vibrato Rate[11] [6] [11] Relative adjustment (64 is zero change)
1 9 Vibrato Depth[11] [6] [11] Relative adjustment (64 is zero change)
1 10 Vibrato Delay[11] [6] [11] Relative adjustment (64 is zero change)
1 32 Filter Cutoff Frequency[11]
or TVF cutoff frequency[6]
[6] [11] Relative adjustment (64 is zero change)
1 33 Filter Resonance[11]
or TVF resonance[6]
[6] [11] Relative adjustment (64 is zero change)
1 99 EG Attack Time[11]
or TVF&TVA Env. Attack time[6]
[6] [11] Relative adjustment (64 is zero change)
1 100 EG Decay Time[11]
or TVF&TVA Env. Decay time[6]
[6] [11] Relative adjustment (64 is zero change)
1 102 EG Release[15]
or TVF&TVA Env. Release time[6]
[6] [15] Relative adjustment (64 is zero change)
24 (key #) Drum Pitch Coarse[13]
or Pitch coarse of drum instrument[6]
[6] [13] Relative adjustment (64 is zero change)
26 (key #) Drum Level[13]
or TVA level of drum instrument[6]
[6] [13]
28 (key #) Drum Pan[13]
or Panpot of drum instrument[6]
[6] [13]
29 (key #) Drum Reverb Send[13]
or Reverb send level of drum instrument[6]
[6] [13]
30 (key #) Drum Chorus Send[13]
or Chorus send level of drum instrument[6]
[6] [13]

References

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Roland SC-55mkII Owner's Manual, page 90.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 Yamaha XG Specifications, v 2.00, page 16.
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 General MIDI System Level 1 Specification, page 2
  4. 4.0 4.1 Yamaha XG Specifications, v 2.00, page 17.
  5. 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 Yamaha XG Specifications, v 2.00, page 18.
  6. 6.00 6.01 6.02 6.03 6.04 6.05 6.06 6.07 6.08 6.09 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35 6.36 6.37 6.38 6.39 6.40 Roland SC-55mkII Owner's Manual, page 91.
  7. 7.0 7.1 7.2 7.3 7.4 7.5 Yamaha XG Specifications, v 2.00, page 19.
  8. 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 Yamaha XG Specifications, v 2.00, page 20.
  9. 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 Yamaha XG Specifications, v 2.00, page 21
  10. Roland SC-88 Owner's Manual, page 7 - 22.
  11. 11.00 11.01 11.02 11.03 11.04 11.05 11.06 11.07 11.08 11.09 11.10 11.11 11.12 11.13 11.14 11.15 11.16 11.17 Yamaha XG Specifications, v 2.00, page 22
  12. 12.0 12.1 12.2 12.3 12.4 Roland SC-55mkII Owner's Manual, page 92.
  13. 13.00 13.01 13.02 13.03 13.04 13.05 13.06 13.07 13.08 13.09 13.10 13.11 Yamaha XG Specifications, v 2.00, page 23
  14. 14.0 14.1 14.2 Yamaha XG Specifications, v 2.00, page 24
  15. 15.0 15.1 Yamaha XG Specifications, v 1.32, page 13 (omitted in v 2.00; by mistake maybe?)

See also