Roland MKS-30 KIWI V2 MIDI CC chart, NRPN and OSC map¶
The Roland MKS-30 KIWI V2 MIDI implementation: 91 CC, 3 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.
| Device | Roland MKS-30 KIWI V2 |
|---|---|
| Vendor | Roland |
| OSC prefix | /mks_30_kiwi_v2 |
| Source | ποΈ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/roland/mks_30_kiwi_v2.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/mks_30_kiwi_v2.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_kiwi_v2: ask βwhat can the Roland MKS-30 KIWI V2 do?β and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (91)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/mks_30_kiwi_v2/range |
65 | 0β127 | continuous | ||
/mks_30_kiwi_v2/wave |
66 | 0β127 | continuous | ||
/mks_30_kiwi_v2/coarse_tune |
8 | -12β12 | continuous | ||
/mks_30_kiwi_v2/cross_mod |
84 | 0β127 | continuous | ||
/mks_30_kiwi_v2/dco_mix |
22 | -63β64 | continuous | ||
/mks_30_kiwi_v2/env_src |
68 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
10 | -63β64 | continuous | ||
/mks_30_kiwi_v2/source |
67 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
12 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_1 |
35 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_1 |
36 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_1 |
37 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_1 |
39 | 0β127 | continuous | ||
/mks_30_kiwi_v2/range |
70 | 0β127 | continuous | ||
/mks_30_kiwi_v2/coarse_tune |
14 | -12β12 | continuous | ||
/mks_30_kiwi_v2/fine_tune |
15 | -50β50 | continuous | ||
/mks_30_kiwi_v2/env_2 |
40 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_2 |
41 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_2 |
42 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_2 |
43 | 0β127 | continuous | ||
/mks_30_kiwi_v2/vca_mode |
77 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_src |
73 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
17 | -63β64 | continuous | ||
/mks_30_kiwi_v2/source |
72 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
16 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_3 |
59 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_3 |
60 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_3 |
61 | 0β127 | continuous | ||
/mks_30_kiwi_v2/env_3 |
62 | 0β127 | continuous | ||
/mks_30_kiwi_v2/cutoff |
27 | 0β127 | continuous | ||
/mks_30_kiwi_v2/resonance |
28 | 0β127 | continuous | ||
/mks_30_kiwi_v2/key_track_lvl |
31 | 0β127 | continuous | ||
/mks_30_kiwi_v2/cutoff |
33 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
30 | -63β64 | continuous | ||
/mks_30_kiwi_v2/env_src |
76 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
29 | 0β127 | continuous | ||
/mks_30_kiwi_v2/source |
75 | 0β127 | continuous | ||
/mks_30_kiwi_v2/volume |
7 | 0β127 | continuous | ||
/mks_30_kiwi_v2/wave |
79 | 0β127 | continuous | ||
/mks_30_kiwi_v2/rate |
44 | 0β127 | continuous | ||
/mks_30_kiwi_v2/delay |
45 | 0β127 | continuous | ||
/mks_30_kiwi_v2/wave |
81 | 0β127 | continuous | ||
/mks_30_kiwi_v2/rate |
48 | 0β127 | continuous | ||
/mks_30_kiwi_v2/delay |
49 | 0β127 | continuous | ||
/mks_30_kiwi_v2/wave |
80 | 0β127 | continuous | ||
/mks_30_kiwi_v2/rate |
46 | 0β127 | continuous | ||
/mks_30_kiwi_v2/delay |
47 | 0β127 | continuous | ||
/mks_30_kiwi_v2/all_notes_off |
123 | 0β127 | continuous | ||
/mks_30_kiwi_v2/depth |
103 | -63β63 | continuous | ||
/mks_30_kiwi_v2/depth |
107 | 0β127 | continuous | ||
/mks_30_kiwi_v2/depth |
82 | -63β63 | continuous | ||
/mks_30_kiwi_v2/wave |
71 | 0β127 | continuous | ||
/mks_30_kiwi_v2/chorus |
106 | 0β127 | continuous | ||
/mks_30_kiwi_v2/level |
108 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
109 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
111 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
113 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
115 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
117 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
116 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
114 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
112 | -63β64 | continuous | ||
/mks_30_kiwi_v2/level |
110 | -63β64 | continuous | ||
/mks_30_kiwi_v2/time |
5 | 0β127 | continuous | ||
/mks_30_kiwi_v2/dco_detune |
21 | 0β127 | continuous | ||
/mks_30_kiwi_v2/analogue_feel |
63 | 0β127 | continuous | ||
/mks_30_kiwi_v2/mode |
85 | 0β127 | continuous | ||
/mks_30_kiwi_v2/mix_env |
23 | -63β64 | continuous | ||
/mks_30_kiwi_v2/mix_dyn |
24 | 0β127 | continuous | ||
/mks_30_kiwi_v2/pw |
11 | 0β127 | continuous | ||
/mks_30_kiwi_v2/pwm |
12 | 0β127 | continuous | ||
/mks_30_kiwi_v2/pwm_source |
92 | 0β127 | continuous | ||
/mks_30_kiwi_v2/dco2_pw |
18 | 0β127 | continuous | ||
/mks_30_kiwi_v2/dco2_pwm |
19 | 0β127 | continuous | ||
/mks_30_kiwi_v2/pwm_source |
93 | 0β127 | continuous | ||
/mks_30_kiwi_v2/mix_env |
105 | 0β127 | continuous | ||
/mks_30_kiwi_v2/steal |
95 | 0β127 | continuous | ||
/mks_30_kiwi_v2/voice_mode |
102 | 0β127 | continuous | ||
/mks_30_kiwi_v2/list |
125 | 0β127 | continuous | ||
/mks_30_kiwi_v2/clock_source |
90 | 0β127 | continuous | ||
/mks_30_kiwi_v2/arp_mode |
86 | 0β127 | continuous | ||
/mks_30_kiwi_v2/arp_range |
87 | 0β127 | continuous | ||
/mks_30_kiwi_v2/clock_divide |
88 | 0β127 | continuous | ||
/mks_30_kiwi_v2/arp_seq_start |
122 | 0β127 | continuous | ||
/mks_30_kiwi_v2/arp_seq_stop |
124 | 0β127 | continuous | ||
/mks_30_kiwi_v2/arp_seq_cont |
123 | 0β127 | continuous | ||
/mks_30_kiwi_v2/bend_range |
91 | 0β127 | continuous | ||
/mks_30_kiwi_v2/patch_tempo |
51 | 0β127 | continuous | ||
/mks_30_kiwi_v2/clock_divide |
89 | 0β127 | continuous | ||
/mks_30_kiwi_v2/vca_dyn |
26 | 0β127 | continuous | ||
/mks_30_kiwi_v2/vcf_dyn |
34 | 0β127 | continuous |
SysEx commands (3)¶
| OSC address | Arguments |
|---|---|
/mks_30_kiwi_v2/source |
val: u7 |
/mks_30_kiwi_v2/destination |
val: u7 |
/mks_30_kiwi_v2/sync |
val: u7 |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /mks_30_kiwi_v2/note/on <note> <velocity>, /mks_30_kiwi_v2/cc/<number> <value>, /mks_30_kiwi_v2/pitchbend <0-16383>, /mks_30_kiwi_v2/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¶
Which MIDI CC controls the filter cutoff on the Roland MKS-30 KIWI V2?
CC 27 (0β127), named /mks_30_kiwi_v2/cutoff in SynthHub's map.
How many parameters of the Roland MKS-30 KIWI V2 can be controlled over MIDI?
SynthHub's map of the Roland MKS-30 KIWI V2 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 KIWI V2?
Yes: SynthHub's hosted MCP server knows the Roland MKS-30 KIWI V2's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.