MIDI CC List — All 128 Control Change Messages
The standard MIDI Control Change (CC) assignments, 0–127, per the MIDI 1.0 specification. Controllers 0–31 are the coarse (MSB) values; 32–63 are their fine (LSB) counterparts. Controllers marked Undefined are free for manufacturer or user assignment.
| CC # | Function |
|---|---|
| 0 | Bank Select |
| 1 | Modulation Wheel |
| 2 | Breath Controller |
| 3 | Undefined |
| 4 | Foot Controller |
| 5 | Portamento Time |
| 6 | Data Entry |
| 7 | Channel Volume |
| 8 | Balance |
| 9 | Undefined |
| 10 | Pan |
| 11 | Expression Controller |
| 12 | Effect Control 1 |
| 13 | Effect Control 2 |
| 14 | Undefined |
| 15 | Undefined |
| 16 | General Purpose Controller 1 |
| 17 | General Purpose Controller 2 |
| 18 | General Purpose Controller 3 |
| 19 | General Purpose Controller 4 |
| 20 | Undefined |
| 21 | Undefined |
| 22 | Undefined |
| 23 | Undefined |
| 24 | Undefined |
| 25 | Undefined |
| 26 | Undefined |
| 27 | Undefined |
| 28 | Undefined |
| 29 | Undefined |
| 30 | Undefined |
| 31 | Undefined |
| 32 | Bank Select (LSB) |
| 33 | Modulation Wheel (LSB) |
| 34 | Breath Controller (LSB) |
| 35 | Undefined |
| 36 | Foot Controller (LSB) |
| 37 | Portamento Time (LSB) |
| 38 | Data Entry (LSB) |
| 39 | Channel Volume (LSB) |
| 40 | Balance (LSB) |
| 41 | Undefined |
| 42 | Pan (LSB) |
| 43 | Expression Controller (LSB) |
| 44 | Effect Control 1 (LSB) |
| 45 | Effect Control 2 (LSB) |
| 46 | Undefined |
| 47 | Undefined |
| 48 | General Purpose Controller 1 (LSB) |
| 49 | General Purpose Controller 2 (LSB) |
| 50 | General Purpose Controller 3 (LSB) |
| 51 | General Purpose Controller 4 (LSB) |
| 52 | Undefined |
| 53 | Undefined |
| 54 | Undefined |
| 55 | Undefined |
| 56 | Undefined |
| 57 | Undefined |
| 58 | Undefined |
| 59 | Undefined |
| 60 | Undefined |
| 61 | Undefined |
| 62 | Undefined |
| 63 | Undefined |
| 64 | Damper / Sustain Pedal (on/off) |
| 65 | Portamento (on/off) |
| 66 | Sostenuto (on/off) |
| 67 | Soft Pedal (on/off) |
| 68 | Legato Footswitch |
| 69 | Hold 2 |
| 70 | Sound Controller 1 (Variation) |
| 71 | Sound Controller 2 (Resonance / Timbre) |
| 72 | Sound Controller 3 (Release Time) |
| 73 | Sound Controller 4 (Attack Time) |
| 74 | Sound Controller 5 (Brightness / Cutoff) |
| 75 | Sound Controller 6 (Decay) |
| 76 | Sound Controller 7 (Vibrato Rate) |
| 77 | Sound Controller 8 (Vibrato Depth) |
| 78 | Sound Controller 9 (Vibrato Delay) |
| 79 | Sound Controller 10 |
| 80 | General Purpose Controller 5 |
| 81 | General Purpose Controller 6 |
| 82 | General Purpose Controller 7 |
| 83 | General Purpose Controller 8 |
| 84 | Portamento Control |
| 85 | Undefined |
| 86 | Undefined |
| 87 | Undefined |
| 88 | High Resolution Velocity Prefix |
| 89 | Undefined |
| 90 | Undefined |
| 91 | Effects 1 Depth (Reverb Send) |
| 92 | Effects 2 Depth (Tremolo) |
| 93 | Effects 3 Depth (Chorus Send) |
| 94 | Effects 4 Depth (Detune / Celeste) |
| 95 | Effects 5 Depth (Phaser) |
| 96 | Data Increment |
| 97 | Data Decrement |
| 98 | NRPN (LSB) |
| 99 | NRPN (MSB) |
| 100 | RPN (LSB) |
| 101 | RPN (MSB) |
| 102 | Undefined |
| 103 | Undefined |
| 104 | Undefined |
| 105 | Undefined |
| 106 | Undefined |
| 107 | Undefined |
| 108 | Undefined |
| 109 | Undefined |
| 110 | Undefined |
| 111 | Undefined |
| 112 | Undefined |
| 113 | Undefined |
| 114 | Undefined |
| 115 | Undefined |
| 116 | Undefined |
| 117 | Undefined |
| 118 | Undefined |
| 119 | Undefined |
| 120 | All Sound Off |
| 121 | Reset All Controllers |
| 122 | Local Control (on/off) |
| 123 | All Notes Off |
| 124 | Omni Mode Off |
| 125 | Omni Mode On |
| 126 | Mono Mode On |
| 127 | Poly Mode On |
How to read this
Control Change messages carry everything that is not a note — pedals, knobs, expression. Each message is a controller number (0–127) and a value (0–127).
The list is split into ranges that behave differently:
- 0–31 — coarse (MSB) controllers. 7-bit, so 128 steps.
- 32–63 — the fine (LSB) counterparts of 0–31. Pair an MSB with its LSB and you get 14-bit resolution: 16,384 steps instead of 128.
- 64–69 — switches: sustain, portamento, sostenuto, soft pedal. Values 0–63 are off, 64–127 are on.
- 120–127 — Channel Mode messages, not ordinary controllers. These reset and silence.
Notes & gotchas
- The ones you will actually use: CC1 modulation, CC7 channel volume, CC10 pan, CC11 expression, CC64 sustain.
- CC7 vs CC11. Volume is the channel's overall level; expression is a performance control within it. Mixing engineers set 7, players ride 11.
- CC123 (All Notes Off) is your panic button for stuck notes — and CC121 resets controllers to defaults.
- 128 steps is audibly coarse on slow filter sweeps and long fades. If you hear stepping, that is 7-bit resolution, and the LSB pair or 14-bit CC is the fix.
- Undefined controllers are fair game for your own mappings, but nothing guarantees another device agrees.