Roland MKS30 w/JH: MIDI CC, NRPN and OSC map¶
The Roland MKS30 w/JH as named OSC addresses — 4 CC, 35 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Roland MKS30 w/JH |
|---|---|
| Vendor | Roland |
| OSC prefix | /mks30_w_jh |
| Source | 🎛️ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/roland/mks30_w_jh.json |
Not tested on the device yet
This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.
How do you control 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/mks30_w_jh.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 mks30_w_jh: ask “what can the Roland MKS30 w/JH do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (39)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/mks30_w_jh/range |
24 / 8 | 0–127 | continuous | ||
/mks30_w_jh/waveform |
27 / 9 | 0–127 | continuous | ||
/mks30_w_jh/data |
96 | 0–127 | continuous | ||
/mks30_w_jh/data |
97 | 0–127 | continuous | ||
/mks30_w_jh/fm_env |
39 / 13 | 0–127 | continuous | ||
/mks30_w_jh/fm_lfo |
36 / 12 | 0–127 | continuous | ||
/mks30_w_jh/range |
30 / 10 | 0–127 | continuous | ||
/mks30_w_jh/waveform |
33 / 11 | 0–127 | continuous | ||
/mks30_w_jh/tune |
6 / 2 | -63–64 | continuous | ||
/mks30_w_jh/fine_tune |
3 / 1 | -63–64 | continuous | ||
/mks30_w_jh/fm_env |
45 / 15 | 0–127 | continuous | ||
/mks30_w_jh/fm_lfo |
42 / 14 | 0–127 | continuous | ||
/mks30_w_jh/dco1_dco2 |
21 / 7 | -63–64 | continuous | ||
/mks30_w_jh/cross_mod |
9 / 3 | 0–127 | continuous | ||
/mks30_w_jh/hpf |
63 / 20 | 0–127 | continuous | ||
/mks30_w_jh/env_polarity |
18 / 6 | 0–127 | continuous | ||
/mks30_w_jh/env_depth |
15 / 5 | 0–127 | continuous | ||
/mks30_w_jh/lfo_depth |
12 / 4 | 0–127 | continuous | ||
/mks30_w_jh/cutoff |
2 / 0 | 0–127 | continuous | ||
/mks30_w_jh/resonance |
48 / 16 | 0–127 | continuous | ||
/mks30_w_jh/key_track |
54 / 18 | 0–127 | continuous | ||
/mks30_w_jh/env_polarity |
63 / 21 | 0–127 | continuous | ||
/mks30_w_jh/env_depth |
51 / 17 | 0–127 | continuous | ||
/mks30_w_jh/lfo_depth |
57 / 19 | 0–127 | continuous | ||
/mks30_w_jh/attack |
72 / 24 | 0–127 | continuous | ||
/mks30_w_jh/attack |
75 / 25 | 0–127 | continuous | ||
/mks30_w_jh/attack |
78 / 26 | 0–127 | continuous | ||
/mks30_w_jh/attack |
81 / 27 | 0–127 | continuous | ||
/mks30_w_jh/mode |
69 / 23 | 0–127 | continuous | ||
/mks30_w_jh/level |
66 / 22 | 0–127 | continuous | ||
/mks30_w_jh/waveform |
84 / 28 | 0–127 | continuous | ||
/mks30_w_jh/rate |
90 / 30 | 0–127 | continuous | ||
/mks30_w_jh/delay |
87 / 29 | 0–127 | continuous | ||
/mks30_w_jh/chorus |
93 / 31 | 0–127 | continuous | ||
/mks30_w_jh/dynamic |
105 / 35 | 0–127 | continuous | ||
/mks30_w_jh/playable |
102 / 34 | 0–127 | continuous | ||
/mks30_w_jh/split_point |
99 / 33 | 0–127 | continuous | ||
/mks30_w_jh/data_entry |
6 | 0–127 | continuous | ||
/mks30_w_jh/volume |
7 | 0–127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /mks30_w_jh/note/on <note> <velocity>, /mks30_w_jh/cc/<number> <value>, /mks30_w_jh/pitchbend <0-16383>, /mks30_w_jh/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.