devices/roland/mks_30.electra-bohdan-jh.fw-unknown.jsonEdit on GitHubJSONRoland MKS-30 (per Electra preset) MIDI CC chart, NRPN and OSC map
The Roland MKS-30 MIDI implementation: 4 CC, 35 NRPN, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceElectra One preset
- 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-bohdan-jh.fw-unknown.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
39 controls, each with its number, its range and the name to send
| Control | CC | NRPN (MSB/LSB) | Range | Name to send |
|---|---|---|---|---|
| Range | 24 / 8 | 0–127 | /mks_30/range |
|
| Waveform | 27 / 9 | 0–127 | /mks_30/waveform |
|
| Data | 96 | 0–127 | /mks_30/data |
|
| Data | 97 | 0–127 | /mks_30/data |
|
| Fm env | 39 / 13 | 0–127 | /mks_30/fm_env |
|
| Fm lfo | 36 / 12 | 0–127 | /mks_30/fm_lfo |
|
| Range | 30 / 10 | 0–127 | /mks_30/range |
|
| Waveform | 33 / 11 | 0–127 | /mks_30/waveform |
|
| Tune | 6 / 2 | -63–64 | /mks_30/tune |
|
| Fine tune | 3 / 1 | -63–64 | /mks_30/fine_tune |
|
| Fm env | 45 / 15 | 0–127 | /mks_30/fm_env |
|
| Fm lfo | 42 / 14 | 0–127 | /mks_30/fm_lfo |
|
| Dco1 dco2 | 21 / 7 | -63–64 | /mks_30/dco1_dco2 |
|
| Cross mod | 9 / 3 | 0–127 | /mks_30/cross_mod |
|
| Hpf | 63 / 20 | 0–127 | /mks_30/hpf |
|
| Env polarity | 18 / 6 | 0–127 | /mks_30/env_polarity |
|
| Env depth | 15 / 5 | 0–127 | /mks_30/env_depth |
|
| Lfo depth | 12 / 4 | 0–127 | /mks_30/lfo_depth |
|
| Cutoff | 2 / 0 | 0–127 | /mks_30/cutoff |
|
| Resonance | 48 / 16 | 0–127 | /mks_30/resonance |
|
| Key track | 54 / 18 | 0–127 | /mks_30/key_track |
|
| Env polarity | 63 / 21 | 0–127 | /mks_30/env_polarity |
|
| Env depth | 51 / 17 | 0–127 | /mks_30/env_depth |
|
| Lfo depth | 57 / 19 | 0–127 | /mks_30/lfo_depth |
|
| Attack | 72 / 24 | 0–127 | /mks_30/attack |
|
| Attack | 75 / 25 | 0–127 | /mks_30/attack |
|
| Attack | 78 / 26 | 0–127 | /mks_30/attack |
|
| Attack | 81 / 27 | 0–127 | /mks_30/attack |
|
| Mode | 69 / 23 | 0–127 | /mks_30/mode |
|
| Level | 66 / 22 | 0–127 | /mks_30/level |
|
| Waveform | 84 / 28 | 0–127 | /mks_30/waveform |
|
| Rate | 90 / 30 | 0–127 | /mks_30/rate |
|
| Delay | 87 / 29 | 0–127 | /mks_30/delay |
|
| Chorus | 93 / 31 | 0–127 | /mks_30/chorus |
|
| Dynamic | 105 / 35 | 0–127 | /mks_30/dynamic |
|
| Playable | 102 / 34 | 0–127 | /mks_30/playable |
|
| Split point | 99 / 33 | 0–127 | /mks_30/split_point |
|
| Data entry | 6 | 0–127 | /mks_30/data_entry |
|
| Volume | 7 | 0–127 | /mks_30/volume |
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
How many parameters of the Roland MKS-30 can be controlled over MIDI?
SynthHub's map of the Roland MKS-30 lists 4 MIDI CC and 35 NRPN 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.