
| MIDI Controller Numbers | ||
|---|---|---|
| The table below presents a summary of the standard MIDI controller numbers in decimal and hexadecimal (h) form; the map on page 1 shows how they are grouped. | ||
| Decimal | Hex | Controller Name |
| 0 | 00h | Bank Select MSB† (often followed by Controller #32, Bank Select LSB) |
| 1 | 01h | Modulation Wheel or Lever |
| 2 | 02h | Breath Controller |
| 3 | 03h | Undefined |
| 4 | 04h | Foot Controller |
| 5 | 05h | Portamento Time |
| 6 | 06h | Data Entry MSB† |
| 7 | 07h | Channel Volume (formerly Main Volume) |
| 8 | 08h | Balance |
| 9 | 09h | Undefined |
| 10 | 0Ah | Pan |
| 11 | 0Bh | Expression Controller |
| 12 | 0Ch | Effect Control 1 |
| 13 | 0Dh | Effect Control 2 |
| 14–15 | 0E–0Fh | Undefined |
| 16–19 | 10–13h | General Purpose Controllers (Nos. 1–4) |
| 20–31 | 14–1Fh | Undefined |
| 32–63 | 20–3Fh | LSB for Controllers 0–31† (rarely implemented, except #32 Bank Select LSB and #38 Data Entry LSB) |
| 64 | 40h | Damper Pedal (Sustain): values 0–63 = Off, 64–127 = On |
| 65 | 41h | Portamento On/Off |
| 66 | 42h | Sostenuto On/Off |
| 67 | 43h | Soft Pedal On/Off |
| 68 | 44h | Legato Footswitch |
| 69 | 45h | Hold 2 |
| 70 | 46h | Sound Controller 1 (default: Sound Variation) |
| 71 | 47h | Sound Controller 2 (default: Timbre/Harmonic Intensity) |
| 72 | 48h | Sound Controller 3 (default: Release Time) |
| 73 | 49h | Sound Controller 4 (default: Attack Time) |
| 74 | 4Ah | Sound Controller 5 (default: Brightness; in MPE, per-note timbre) |
| 75 | 4Bh | Sound Controller 6 (default: Decay Time) |
| 76 | 4Ch | Sound Controller 7 (default: Vibrato Rate) |
| 77 | 4Dh | Sound Controller 8 (default: Vibrato Depth) |
| 78 | 4Eh | Sound Controller 9 (default: Vibrato Delay) |
| 79 | 4Fh | Sound Controller 10 (no default) |
| 80–83 | 50–53h | General Purpose Controllers (Nos. 5–8) |
| 84 | 54h | Portamento Control |
| 85–87 | 55–57h | Undefined |
| 88 | 58h | High Resolution Velocity Prefix† |
| 89–90 | 59–5Ah | Undefined |
| 91 | 5Bh | Effects 1 Depth (default: Reverb Send Level; previously External Effects Depth) |
| 92 | 5Ch | Effects 2 Depth (previously Tremolo Depth) |
| 93 | 5Dh | Effects 3 Depth (default: Chorus Send Level; previously Chorus Depth) |
| 94 | 5Eh | Effects 4 Depth (previously Detune Depth) |
| 95 | 5Fh | Effects 5 Depth (previously Phaser Depth) |
| 96 | 60h | Data Increment (Data Entry +1) |
| 97 | 61h | Data Decrement (Data Entry -1) |
| 98 | 62h | Non-Registered Parameter Number LSB† |
| 99 | 63h | Non-Registered Parameter Number MSB† |
| 100 | 64h | Registered Parameter Number LSB† |
| 101 | 65h | Registered Parameter Number MSB† |
| 102–119 | 66–77h | Undefined |
| Channel Mode Messages | ||
| 120 | 78h | All Sound Off |
| 121 | 79h | Reset All Controllers |
| 122 | 7Ah | Local Control On/Off |
| 123 | 7Bh | All Notes Off (sent by most Panic buttons) |
| 124 | 7Ch | Omni Off |
| 125 | 7Dh | Omni On |
| 126 | 7Eh | Mono On (Poly Off) |
| 127 | 7Fh | Poly On (Mono Off) |
† Replaced or no longer needed in the MIDI 2.0 Protocol; see Controllers in MIDI 2.0 below.
Controllers in MIDI 2.0
MIDI 2.0 keeps the same 128 controller numbers but gives each controller value 32 bits instead of 7, so the LSB controllers (32–63) are no longer needed for fine resolution, and 16-bit note velocity makes the High Resolution Velocity Prefix (88) unnecessary. Several controllers that MIDI 1.0 used as workarounds are replaced by messages of their own: bank selection (0 and 32) now travels inside the Program Change message, and RPNs and NRPNs (98–101, with Data Entry 6 and 38) become single Registered and Assignable Controller messages, 16,384 of each per channel. MIDI 2.0 also adds controllers for individual notes, so each held note can have its own brightness or vibrato on a single channel.