Roland MKS30 w/JH MIDI CC chart, NRPN and OSC map¶
The Roland MKS30 w/JH MIDI implementation: 4 CC, 35 NRPN, each named, for Claude (MCP), SuperCollider or any OSC app.
| 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.
Frequently asked questions¶
How many parameters of the Roland MKS30 w/JH can be controlled over MIDI?
SynthHub's map of the Roland MKS30 w/JH 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 MKS30 w/JH?
Yes: SynthHub's hosted MCP server knows the Roland MKS30 w/JH's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.