Written from devices/roland/mks_30.electra-community-v2.fw-kiwi.jsonEdit on GitHubJSON

Roland MKS-30 (per Electra preset) MIDI CC chart, NRPN and OSC map

The Roland MKS-30 MIDI implementation: 91 CC, 3 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.

  • sourceElectra One preset
  • firmwarekiwi
  • real unitnot yet checked

Not checked on a real Roland MKS-30 yet. Own one? Load a sound or send a control, and tell us whether it worked.

Maker
Roland
Version
per Electra preset
Source
Electra One preset
OSC prefix
/mks_30

Use it

Find the MIDI ports, then start the bridge with this driver:

osc-bridge detect        # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/roland/mks_30.electra-community-v2.fw-kiwi.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /mks_30/range 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as mks_30: ask “what can the Roland MKS-30 do?” and it reads this map with list_routes. See the MCP guide.

MIDI controls

94 controls, each with its number, its range and the name to send
Control CC Range Name to send
Range 65 0–127 /mks_30/range
Wave 66 0–127 /mks_30/wave
Coarse tune 8 -12–12 /mks_30/coarse_tune
Cross mod 84 0–127 /mks_30/cross_mod
Dco mix 22 -63–64 /mks_30/dco_mix
Env src 68 0–127 /mks_30/env_src
Level 10 -63–64 /mks_30/level
Source 67 0–127 /mks_30/source
Level 12 0–127 /mks_30/level
Env 1 35 0–127 /mks_30/env_1
Env 1 36 0–127 /mks_30/env_1
Env 1 37 0–127 /mks_30/env_1
Env 1 39 0–127 /mks_30/env_1
Range 70 0–127 /mks_30/range
Coarse tune 14 -12–12 /mks_30/coarse_tune
Fine tune 15 -50–50 /mks_30/fine_tune
Env 2 40 0–127 /mks_30/env_2
Env 2 41 0–127 /mks_30/env_2
Env 2 42 0–127 /mks_30/env_2
Env 2 43 0–127 /mks_30/env_2
Vca mode 77 0–127 /mks_30/vca_mode
Env src 73 0–127 /mks_30/env_src
Level 17 -63–64 /mks_30/level
Source 72 0–127 /mks_30/source
Level 16 0–127 /mks_30/level
Env 3 59 0–127 /mks_30/env_3
Env 3 60 0–127 /mks_30/env_3
Env 3 61 0–127 /mks_30/env_3
Env 3 62 0–127 /mks_30/env_3
Cutoff 27 0–127 /mks_30/cutoff
Resonance 28 0–127 /mks_30/resonance
Key track lvl 31 0–127 /mks_30/key_track_lvl
Cutoff 33 0–127 /mks_30/cutoff
Level 30 -63–64 /mks_30/level
Env src 76 0–127 /mks_30/env_src
Level 29 0–127 /mks_30/level
Source 75 0–127 /mks_30/source
Volume 7 0–127 /mks_30/volume
Wave 79 0–127 /mks_30/wave
Rate 44 0–127 /mks_30/rate
Delay 45 0–127 /mks_30/delay
Wave 81 0–127 /mks_30/wave
Rate 48 0–127 /mks_30/rate
Delay 49 0–127 /mks_30/delay
Wave 80 0–127 /mks_30/wave
Rate 46 0–127 /mks_30/rate
Delay 47 0–127 /mks_30/delay
All notes off 123 0–127 /mks_30/all_notes_off
Depth 103 -63–63 /mks_30/depth
Depth 107 0–127 /mks_30/depth
Depth 82 -63–63 /mks_30/depth
Wave 71 0–127 /mks_30/wave
Chorus 106 0–127 /mks_30/chorus
Level 108 -63–64 /mks_30/level
Level 109 -63–64 /mks_30/level
Level 111 -63–64 /mks_30/level
Level 113 -63–64 /mks_30/level
Level 115 -63–64 /mks_30/level
Level 117 -63–64 /mks_30/level
Level 116 -63–64 /mks_30/level
Level 114 -63–64 /mks_30/level
Level 112 -63–64 /mks_30/level
Level 110 -63–64 /mks_30/level
Time 5 0–127 /mks_30/time
Dco detune 21 0–127 /mks_30/dco_detune
Analogue feel 63 0–127 /mks_30/analogue_feel
Mode 85 0–127 /mks_30/mode
Mix env 23 -63–64 /mks_30/mix_env
Mix dyn 24 0–127 /mks_30/mix_dyn
Pw 11 0–127 /mks_30/pw
Pwm 12 0–127 /mks_30/pwm
Pwm source 92 0–127 /mks_30/pwm_source
Dco2 pw 18 0–127 /mks_30/dco2_pw
Dco2 pwm 19 0–127 /mks_30/dco2_pwm
Pwm source 93 0–127 /mks_30/pwm_source
Mix env 105 0–127 /mks_30/mix_env
Steal 95 0–127 /mks_30/steal
Voice mode 102 0–127 /mks_30/voice_mode
List 125 0–127 /mks_30/list
Clock source 90 0–127 /mks_30/clock_source
Arp mode 86 0–127 /mks_30/arp_mode
Arp range 87 0–127 /mks_30/arp_range
Clock divide 88 0–127 /mks_30/clock_divide
Arp seq start 122 0–127 /mks_30/arp_seq_start
Arp seq stop 124 0–127 /mks_30/arp_seq_stop
Arp seq cont 123 0–127 /mks_30/arp_seq_cont
Bend range 91 0–127 /mks_30/bend_range
Patch tempo 51 0–127 /mks_30/patch_tempo
Clock divide 89 0–127 /mks_30/clock_divide
Vca dyn 26 0–127 /mks_30/vca_dyn
Vcf dyn 34 0–127 /mks_30/vcf_dyn

SysEx commands

Command Arguments Name to send
Source val: u7 /mks_30/source
Destination val: u7 /mks_30/destination
Sync val: u7 /mks_30/sync

Performance MIDI

Notes, pitch bend and any CC are also available: /mks_30/note/on <note> <velocity>, /mks_30/cc/<number> <value>, /mks_30/pitchbend <0-16383>, /mks_30/program_change <n>.

JSON

Limitations

Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.

Other versions

The Roland MKS-30 is mapped in 4 versions. per Electra preset, per Electra preset, per Electra preset.

Frequently asked questions

Which MIDI CC controls the filter cutoff on the Roland MKS-30?

CC 27 (0–127), named /mks_30/cutoff in SynthHub's map.

How many parameters of the Roland MKS-30 can be controlled over MIDI?

SynthHub's map of the Roland MKS-30 lists 91 MIDI CC parameters, each with its number, range and a readable name; the full chart is on this page.

Can an AI agent like Claude control the Roland MKS-30?

Yes: SynthHub's hosted MCP server knows the Roland MKS-30's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.