MIDI implementation details for the Roland MC-909.
Last update: October 25, 2026 • 67 parameters
Contributions welcome! You can email us your edited CSV if you don't want to use GitHub.
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Bank select MSB | 0 | [0–127] |
81: Patches; 82: Rhythms; 92: SRX rhythms; 93: SRX patches
|
Note: Not received when Receive Bank Select (System) is off. Use with Bank select LSB and Program Change
|
0-based |
| Bank select LSB | 32 | [0–127] | — |
Note: With MSB 81, 0-1 = User patch, 32-33 = Card patch, 64-70 = Preset patch A-G. With MSB 82, 0 = User rhythm, 32 = Card rhythm, 64 = Preset rhythm
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Modulation | 1 | [0–127] | — | — | 0-based |
| Breath type | 2 | [0–127] | — | — | 0-based |
| Foot type | 4 | [0–127] | — | — | 0-based |
| Balance | 8 | [0–127] | — | — | Centered |
| Expression | 11 | [0–127] | — | — | 0-based |
| Hold 1 | 64 | [0–127] |
0-63: Off; 64-127: On
|
— | 0-based |
| Sostenuto | 66 | [0–127] |
0-63: Off; 64-127: On
|
— | 0-based |
| Soft | 67 | [0–127] |
0-63: Off; 64-127: On
|
— | 0-based |
| Legato foot switch | 68 | [0–127] |
0-63: Off; 64-127: On
|
— | 0-based |
| Hold 2 | 69 | [0–127] | — |
Note: Received, but no hold is performed
|
0-based |
| Portamento control | 84 | [0–127] | — |
Source note number for the next Note On
Note: The pitch glides from the source note at the Portamento time rate |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Data entry MSB | 6 | [0–127] | — |
Value for the selected RPN
|
0-based |
| Data entry LSB | 38 | [0–127] | — |
Value for the selected RPN
|
0-based |
| RPN LSB | 100 | [0–127] |
0: Pitch bend sensitivity; 1: Channel fine tuning; 2: Channel coarse tuning; 127: RPN null
|
Note: With RPN MSB 0. Pitch bend sensitivity data 0-24 semitones. Coarse tuning data 16-112 (-48 to +48 semitones) and changes the Part Key Shift
|
0-based |
| RPN MSB | 101 | [0–127] |
0: Registered parameters; 127: RPN null
|
— | 0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Patch coarse tune | 21 | [16–112] | — |
Note: Center = 64. Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
Centered |
| Rhythm tone coarse tune | 21 | [0–127] | — |
Note: Center C4 = 60. Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Patch fine tune | 77 | [14–114] | — |
Note: Center = 64
|
Centered |
| Rhythm tone fine tune | 77 | [14–114] | — |
Note: Center = 64
|
Centered |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Filter type | 34 | [0–6] |
0: Off; 1: LPF; 2: BPF; 3: HPF; 4: PKG; 5: LPF2; 6: LPF3
|
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Cutoff frequency | 74 | [0–127] | — |
Received as Cutoff
|
0-based |
| Resonance | 71 | [0–127] | — | — | 0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Patch level | 36 | [0–127] | — |
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Rhythm tone level | 36 | [0–127] | — |
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Tone pan | 35 | [0–127] | — |
Note: Center = 64. Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
Centered |
| Random pan depth | 37 | [0–63] | — |
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Depth | 25 | [52–76] | — |
Note: Center = 64. Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
Centered |
| Attack | 26 | [0–127] | — |
P-Env time 1
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
0-based |
| Decay | 27 | [0–127] | — |
P-Env time 3
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
0-based |
| Sustain | 39 | [1–127] | — |
P-Env level 3
Note: Center = 64. Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
Centered |
| Release | 40 | [0–127] | — |
P-Env time 4
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Depth | 81 | [1–127] | — |
Note: Center = 64. Received as General purpose controller 6
|
Centered |
| Attack | 82 | [0–127] | — |
F-Env time 1
Note: Received as General purpose controller 7 |
0-based |
| Decay | 83 | [0–127] | — |
F-Env time 3
Note: Received as General purpose controller 8 |
0-based |
| Sustain | 28 | [0–127] | — |
F-Env level 3
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
0-based |
| Release | 29 | [0–127] | — |
F-Env time 4
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Attack | 73 | [0–127] | — |
A-Env time 1. Received as Attack time
|
0-based |
| Decay | 75 | [0–127] | — |
A-Env time 3. Received as Decay time
|
0-based |
| Sustain | 31 | [0–127] | — |
A-Env level 3
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK |
0-based |
| Release | 72 | [0–127] | — |
A-Env time 4. Received as Release time
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Waveform | 15 | [0–127] | — |
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Rate | 16 | [0–127] | — | — | 0-based |
| Pitch depth | 18 | [1–127] | — |
Note: Center = 64.
|
Centered |
| Filter depth | 19 | [1–127] | — |
Note: Center = 64.
|
Centered |
| Amp depth | 80 | [1–127] | — |
Note: Center = 64. Received as General purpose controller 5.
|
Centered |
| Pan depth | 9 | [1–127] | — |
Note: Center = 64. Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
Centered |
| Parameter | CC | Range | Usage | Orientation |
|---|---|---|---|---|
| Portamento switch | 65 | [0–127] |
0-63: Off; 64-127: On
|
0-based |
| Portamento time | 5 | [0–127] | — | 0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Unison switch | 89 | [0–127] |
0-63: Off; 64-127: On
|
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Unison fat level | 90 | [0–127] | — |
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Level | 7 | [0–127] | — |
Part level. Received as Volume
|
0-based |
| Pan | 10 | [0–127] |
0~63: Left; 64: Center; 65~127: Right
|
Part pan. Received as Panpot
|
Centered |
| Key shift | 85 | [16–112] | — |
Note: Center = 64
|
Centered |
| Reverb level | 91 | [0–127] | — |
Part reverb send level. Received as Effect 1 (reverb send level)
|
0-based |
| Output select | 86 | [0–6] |
0: DRY; 1: MFX1; 2: MFX2; 3: COMP; 4: DIR1; 5: DIR2; 6: RHYTHM
|
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Auto sync switch | 87 | [0–127] |
0-63: Off; 64-127: On
|
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| Part mute | 88 | [0–127] |
0-63: Mute; 64-127: Play
|
Note: Sent as SysEx instead when Transmit Patch Edit Type is TYPE-QUICK
|
0-based |
| Local on/off | 122 | [0–127] |
0: Local off; 127: Local on
|
Note: Received by the sequencer
|
0-based |
| Parameter | CC | Range | Usage | Description | Orientation |
|---|---|---|---|---|---|
| All sounds off | 120 | [0–0] |
0: All sounds off
|
— | 0-based |
| Reset all controllers | 121 | [0–0] |
0: Reset all controllers
|
— | 0-based |
| All notes off | 123 | [0–0] |
0: All notes off
|
Note: Notes held by Hold 1 or Sostenuto continue until released
|
0-based |
| Omni off | 124 | [0–0] |
0: Omni off
|
Note: Processed as All notes off
|
0-based |
| Omni on | 125 | [0–0] |
0: Omni on
|
Note: Processed as All notes off. Omni on is not turned on
|
0-based |
| Mono | 126 | [0–16] | — |
Note: Value is the mono number (0-16). Processed as All notes off. Changes the patch Mono/Poly parameter
|
0-based |
| Poly | 127 | [0–0] |
0: Poly
|
Note: Processed as All notes off. Changes the patch Mono/Poly parameter
|
0-based |
This dataset is provided under the Creative Commons Attribution Share Alike 4.0 International license.