Roland MC-909 MIDI CCs & NRPNs

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.

Program

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

Controllers

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 numbers

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

Pitch

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

Filter

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

Amp

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

Pitch envelope

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

Filter envelope

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

Amp envelope

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

LFO 1

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

Portamento

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

Unison

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

Part

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

Sequencer

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

Channel mode

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.