devices/roland/mks_70.electra-community.fw-vecoven-4.jsonEdit on GitHubJSONRoland MKS-70 MIDI CC chart, NRPN and OSC map
The Roland MKS-70 MIDI implementation: 164 NRPN, 26 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceElectra One preset
- firmwarevecoven-4
- real unitnot yet checked
Not checked on a real Roland MKS-70 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_70
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_70.electra-community.fw-vecoven-4.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_70: ask “what can the Roland MKS-70 do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
190 controls, each with its number, its range and the name to send
| Control | CC | NRPN (MSB/LSB) | Range | Name to send |
|---|---|---|---|---|
| Range | 0 / 0 | 0–127 | /mks_70/range |
|
| Waveform | 0 / 1 | 0–127 | /mks_70/waveform |
|
| Tune | 0 / 2 | 0–127 | /mks_70/tune |
|
| Lfo depth | 0 / 3 | 0–127 | /mks_70/lfo_depth |
|
| Lfo src | 0 / 4 | 0–127 | /mks_70/lfo_src |
|
| Env depth | 0 / 5 | 0–127 | /mks_70/env_depth |
|
| Dyn depth | 0 / 6 | 0–127 | /mks_70/dyn_depth |
|
| Dco1 env src | 0 / 7 | 0–127 | /mks_70/dco1_env_src |
|
| Vca level | 0 / 45 | 0–127 | /mks_70/vca_level |
|
| Vca env src | 0 / 46 | 0–127 | /mks_70/vca_env_src |
|
| Dyn depth | 0 / 47 | 0–127 | /mks_70/dyn_depth |
|
| Hpf freq | 0 / 18 | 0–127 | /mks_70/hpf_freq |
|
| Range | 0 / 8 | 0–127 | /mks_70/range |
|
| Waveform | 0 / 9 | 0–127 | /mks_70/waveform |
|
| Tune | 0 / 10 | 0–127 | /mks_70/tune |
|
| Lfo depth | 0 / 11 | 0–127 | /mks_70/lfo_depth |
|
| Lfo src | 0 / 12 | 0–127 | /mks_70/lfo_src |
|
| Env depth | 0 / 13 | 0–127 | /mks_70/env_depth |
|
| Dyn depth | 0 / 14 | 0–127 | /mks_70/dyn_depth |
|
| Dco2 env src | 0 / 15 | 0–127 | /mks_70/dco2_env_src |
|
| Fine tune | 0 / 17 | 0–127 | /mks_70/fine_tune |
|
| X mod | 0 / 16 | 0–127 | /mks_70/x_mod |
|
| Cutoff | 0 / 37 | 0–127 | /mks_70/cutoff |
|
| Resonance | 0 / 38 | 0–127 | /mks_70/resonance |
|
| Lfo1 depth | 0 / 39 | 0–127 | /mks_70/lfo1_depth |
|
| Lfo2 depth | 0 / 40 | 0–127 | /mks_70/lfo2_depth |
|
| Env depth | 0 / 41 | 0–127 | /mks_70/env_depth |
|
| Key follow | 0 / 42 | 0–127 | /mks_70/key_follow |
|
| Dyn depth | 0 / 43 | 0–127 | /mks_70/dyn_depth |
|
| Dco2 env src | 0 / 44 | 0–127 | /mks_70/dco2_env_src |
|
| Mix dco1 | 0 / 32 | 0–127 | /mks_70/mix_dco1 |
|
| Mix dco2 | 0 / 33 | 0–127 | /mks_70/mix_dco2 |
|
| Env depth | 0 / 34 | 0–127 | /mks_70/env_depth |
|
| Mix dyn | 0 / 35 | 0–127 | /mks_70/mix_dyn |
|
| Mix env src | 0 / 36 | 0–127 | /mks_70/mix_env_src |
|
| Chorus | 0 / 19 | 0–127 | /mks_70/chorus |
|
| Pwm width | 0 / 20 | 0–127 | /mks_70/pwm_width |
|
| Pwm env | 0 / 21 | 0–127 | /mks_70/pwm_env |
|
| Lfo depth | 0 / 22 | 0–127 | /mks_70/lfo_depth |
|
| Pwm lfo src | 0 / 23 | 0–127 | /mks_70/pwm_lfo_src |
|
| Pwm dyn | 0 / 24 | 0–127 | /mks_70/pwm_dyn |
|
| Pwm env src | 0 / 25 | 0–127 | /mks_70/pwm_env_src |
|
| Pwm width | 0 / 26 | 0–127 | /mks_70/pwm_width |
|
| Pwm env | 0 / 27 | 0–127 | /mks_70/pwm_env |
|
| Lfo depth | 0 / 28 | 0–127 | /mks_70/lfo_depth |
|
| Pwm lfo src | 0 / 29 | 0–127 | /mks_70/pwm_lfo_src |
|
| Pwm dyn | 0 / 30 | 0–127 | /mks_70/pwm_dyn |
|
| Pwm env src | 0 / 31 | 0–127 | /mks_70/pwm_env_src |
|
| Waveform | 0 / 48 | 0–127 | /mks_70/waveform |
|
| Lfo delay | 0 / 49 | 0–127 | /mks_70/lfo_delay |
|
| Lfo rate | 0 / 50 | 0–127 | /mks_70/lfo_rate |
|
| Lfo2 depth | 0 / 51 | 0–127 | /mks_70/lfo2_depth |
|
| Sync | 0 / 52 | 0–127 | /mks_70/sync |
|
| Waveform | 0 / 53 | 0–127 | /mks_70/waveform |
|
| Lfo delay | 0 / 54 | 0–127 | /mks_70/lfo_delay |
|
| Lfo rate | 0 / 55 | 0–127 | /mks_70/lfo_rate |
|
| Lfo1 depth | 0 / 56 | 0–127 | /mks_70/lfo1_depth |
|
| Sync | 0 / 57 | 0–127 | /mks_70/sync |
|
| T1 | 0 / 58 | 0–127 | /mks_70/t1 |
|
| L1 | 0 / 59 | 0–127 | /mks_70/l1 |
|
| T2 | 0 / 60 | 0–127 | /mks_70/t2 |
|
| L2 | 0 / 61 | 0–127 | /mks_70/l2 |
|
| T3 | 0 / 62 | 0–127 | /mks_70/t3 |
|
| L3 | 0 / 63 | 0–127 | /mks_70/l3 |
|
| T4 | 0 / 64 | 0–127 | /mks_70/t4 |
|
| Key follow | 0 / 65 | 0–127 | /mks_70/key_follow |
|
| T1 | 0 / 66 | 0–127 | /mks_70/t1 |
|
| L1 | 0 / 67 | 0–127 | /mks_70/l1 |
|
| T2 | 0 / 68 | 0–127 | /mks_70/t2 |
|
| L2 | 0 / 69 | 0–127 | /mks_70/l2 |
|
| T3 | 0 / 70 | 0–127 | /mks_70/t3 |
|
| L3 | 0 / 71 | 0–127 | /mks_70/l3 |
|
| T4 | 0 / 72 | 0–127 | /mks_70/t4 |
|
| Key follow | 0 / 73 | 0–127 | /mks_70/key_follow |
|
| Attack | 0 / 74 | 0–99 | /mks_70/attack |
|
| Attack | 0 / 75 | 0–99 | /mks_70/attack |
|
| Attack | 0 / 76 | 0–99 | /mks_70/attack |
|
| Attack | 0 / 77 | 0–99 | /mks_70/attack |
|
| Key follow | 0 / 78 | 0–127 | /mks_70/key_follow |
|
| Attack | 0 / 79 | 0–99 | /mks_70/attack |
|
| Attack | 0 / 80 | 0–511 | /mks_70/attack |
|
| Attack | 0 / 81 | 0–511 | /mks_70/attack |
|
| Attack | 0 / 82 | 0–511 | /mks_70/attack |
|
| Key follow | 0 / 83 | 0–127 | /mks_70/key_follow |
|
| Range | 2 / 0 | 0–127 | /mks_70/range |
|
| Waveform | 2 / 1 | 0–127 | /mks_70/waveform |
|
| Tune | 2 / 2 | 0–127 | /mks_70/tune |
|
| Lfo depth | 2 / 3 | 0–127 | /mks_70/lfo_depth |
|
| Lfo src | 2 / 4 | 0–127 | /mks_70/lfo_src |
|
| Env depth | 2 / 5 | 0–127 | /mks_70/env_depth |
|
| Dyn depth | 2 / 6 | 0–127 | /mks_70/dyn_depth |
|
| Dco1 env src | 2 / 7 | 0–127 | /mks_70/dco1_env_src |
|
| Vca level | 2 / 45 | 0–127 | /mks_70/vca_level |
|
| Vca env src | 2 / 46 | 0–127 | /mks_70/vca_env_src |
|
| Dyn depth | 2 / 47 | 0–127 | /mks_70/dyn_depth |
|
| Hpf freq | 2 / 18 | 0–127 | /mks_70/hpf_freq |
|
| Range | 2 / 8 | 0–127 | /mks_70/range |
|
| Waveform | 2 / 9 | 0–127 | /mks_70/waveform |
|
| Tune | 2 / 10 | 0–127 | /mks_70/tune |
|
| Lfo depth | 2 / 11 | 0–127 | /mks_70/lfo_depth |
|
| Lfo src | 2 / 12 | 0–127 | /mks_70/lfo_src |
|
| Env depth | 2 / 13 | 0–127 | /mks_70/env_depth |
|
| Dyn depth | 2 / 14 | 0–127 | /mks_70/dyn_depth |
|
| Dco2 env src | 2 / 15 | 0–127 | /mks_70/dco2_env_src |
|
| Fine tune | 2 / 17 | 0–127 | /mks_70/fine_tune |
|
| X mod | 2 / 16 | 0–127 | /mks_70/x_mod |
|
| Cutoff | 2 / 37 | 0–127 | /mks_70/cutoff |
|
| Resonance | 2 / 38 | 0–127 | /mks_70/resonance |
|
| Lfo1 depth | 2 / 39 | 0–127 | /mks_70/lfo1_depth |
|
| Lfo2 depth | 2 / 40 | 0–127 | /mks_70/lfo2_depth |
|
| Env depth | 2 / 41 | 0–127 | /mks_70/env_depth |
|
| Key follow | 2 / 42 | 0–127 | /mks_70/key_follow |
|
| Dyn depth | 2 / 43 | 0–127 | /mks_70/dyn_depth |
|
| Dco2 env src | 2 / 44 | 0–127 | /mks_70/dco2_env_src |
|
| Mix dco1 | 2 / 32 | 0–127 | /mks_70/mix_dco1 |
|
| Mix dco2 | 2 / 33 | 0–127 | /mks_70/mix_dco2 |
|
| Env depth | 2 / 34 | 0–127 | /mks_70/env_depth |
|
| Mix dyn | 2 / 35 | 0–127 | /mks_70/mix_dyn |
|
| Mix env src | 2 / 36 | 0–127 | /mks_70/mix_env_src |
|
| Chorus | 2 / 19 | 0–127 | /mks_70/chorus |
|
| Pwm width | 2 / 20 | 0–127 | /mks_70/pwm_width |
|
| Pwm env | 2 / 21 | 0–127 | /mks_70/pwm_env |
|
| Lfo depth | 2 / 22 | 0–127 | /mks_70/lfo_depth |
|
| Pwm lfo src | 2 / 23 | 0–127 | /mks_70/pwm_lfo_src |
|
| Pwm dyn | 2 / 24 | 0–127 | /mks_70/pwm_dyn |
|
| Pwm env src | 2 / 25 | 0–127 | /mks_70/pwm_env_src |
|
| Pwm width | 2 / 26 | 0–127 | /mks_70/pwm_width |
|
| Pwm env | 2 / 27 | 0–127 | /mks_70/pwm_env |
|
| Lfo depth | 2 / 28 | 0–127 | /mks_70/lfo_depth |
|
| Pwm lfo src | 2 / 29 | 0–127 | /mks_70/pwm_lfo_src |
|
| Pwm dyn | 2 / 30 | 0–127 | /mks_70/pwm_dyn |
|
| Pwm env src | 2 / 31 | 0–127 | /mks_70/pwm_env_src |
|
| Waveform | 2 / 48 | 0–127 | /mks_70/waveform |
|
| Lfo delay | 2 / 49 | 0–127 | /mks_70/lfo_delay |
|
| Lfo rate | 2 / 50 | 0–127 | /mks_70/lfo_rate |
|
| Lfo2 depth | 2 / 51 | 0–127 | /mks_70/lfo2_depth |
|
| Sync | 2 / 52 | 0–127 | /mks_70/sync |
|
| Waveform | 2 / 53 | 0–127 | /mks_70/waveform |
|
| Lfo delay | 2 / 54 | 0–127 | /mks_70/lfo_delay |
|
| Lfo rate | 2 / 55 | 0–127 | /mks_70/lfo_rate |
|
| Lfo1 depth | 2 / 56 | 0–127 | /mks_70/lfo1_depth |
|
| Sync | 2 / 57 | 0–127 | /mks_70/sync |
|
| T1 | 2 / 58 | 0–127 | /mks_70/t1 |
|
| L1 | 2 / 59 | 0–127 | /mks_70/l1 |
|
| T2 | 2 / 60 | 0–127 | /mks_70/t2 |
|
| L2 | 2 / 61 | 0–127 | /mks_70/l2 |
|
| T3 | 2 / 62 | 0–127 | /mks_70/t3 |
|
| L3 | 2 / 63 | 0–127 | /mks_70/l3 |
|
| T4 | 2 / 64 | 0–127 | /mks_70/t4 |
|
| Key follow | 2 / 65 | 0–127 | /mks_70/key_follow |
|
| T1 | 2 / 66 | 0–127 | /mks_70/t1 |
|
| L1 | 2 / 67 | 0–127 | /mks_70/l1 |
|
| T2 | 2 / 68 | 0–127 | /mks_70/t2 |
|
| L2 | 2 / 69 | 0–127 | /mks_70/l2 |
|
| Attack | 2 / 74 | 0–99 | /mks_70/attack |
|
| Attack | 2 / 75 | 0–511 | /mks_70/attack |
|
| Attack | 2 / 76 | 0–511 | /mks_70/attack |
|
| Attack | 2 / 77 | 0–511 | /mks_70/attack |
|
| Key follow | 2 / 78 | 0–127 | /mks_70/key_follow |
|
| Attack | 2 / 79 | 0–99 | /mks_70/attack |
|
| Attack | 2 / 80 | 0–511 | /mks_70/attack |
|
| Attack | 2 / 81 | 0–511 | /mks_70/attack |
|
| Attack | 2 / 82 | 0–511 | /mks_70/attack |
|
| Key follow | 2 / 83 | 0–127 | /mks_70/key_follow |
SysEx commands
| Command | Arguments | Name to send |
|---|---|---|
| Total volume | val: u7 | /mks_70/total_volume |
| Key mode 1 | val: u7 | /mks_70/key_mode_1 |
| Porta time | val: u7 | /mks_70/porta_time |
| Bend range 1 | val: u7 | /mks_70/bend_range_1 |
| At vibrato | val: u7 | /mks_70/at_vibrato |
| L u balance | val: u7 | /mks_70/l_u_balance |
| Key mode 2 | val: u7 | /mks_70/key_mode_2 |
| Bend range 2 | val: u7 | /mks_70/bend_range_2 |
| Volume | val: u7 | /mks_70/volume |
| Brilliance | val: u7 | /mks_70/brilliance |
| U a tone | val: u7 | /mks_70/u_a_tone |
| Key assign | val: u7 | /mks_70/key_assign |
| Hold | val: u7 | /mks_70/hold |
| Portamento | val: u7 | /mks_70/portamento |
| Upper | val: u7 | /mks_70/upper |
| Shift | val: u7 | /mks_70/shift |
| Unison detune | val: u7 | /mks_70/unison_detune |
| Lfo mod depth | val: u7 | /mks_70/lfo_mod_depth |
| Bender | val: u7 | /mks_70/bender |
| Lower | val: u7 | /mks_70/lower |
| Dual detune | val: u7 | /mks_70/dual_detune |
| L b tone | val: u7 | /mks_70/l_b_tone |
| Level | val: u7 | /mks_70/level |
| Mode | val: u7 | /mks_70/mode |
| Play | val: u7 | /mks_70/play |
| Time | val: u7 | /mks_70/time |
Performance MIDI
Notes, pitch bend and any CC are also available: /mks_70/note/on <note> <velocity>, /mks_70/cc/<number> <value>, /mks_70/pitchbend <0-16383>, /mks_70/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 MKS-70 can be controlled over MIDI?
SynthHub's map of the Roland MKS-70 lists 164 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-70?
Yes: SynthHub's hosted MCP server knows the Roland MKS-70's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.