devices/roland/mks_30.electra-community-v2.fw-kiwi.jsonEdit on GitHubJSONRoland 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:
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>.
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.