devices/roland/mks_80.electra-markus-schlosser-v3.fw-unknown.jsonEdit on GitHubJSONRoland MKS-80 MIDI CC chart, NRPN and OSC map
The Roland MKS-80 MIDI implementation: 48 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceElectra One preset
- real unitnot yet checked
Not checked on a real Roland MKS-80 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_80
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_80.electra-markus-schlosser-v3.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_80: ask “what can the Roland MKS-80 do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
48 controls, each with its number, its range and the name to send
SysEx commands
| Command | Arguments | Name to send |
|---|---|---|
| Upper tone | val: u7 | /mks_80/upper_tone |
| Lower tone | val: u7 | /mks_80/lower_tone |
| Balance | val: u7 | /mks_80/balance |
| Shift | val: u7 | /mks_80/shift |
| Split point | val: u7 | /mks_80/split_point |
| Mode | val: u7 | /mks_80/mode |
| Unison detune | val: u7 | /mks_80/unison_detune |
| Assign hold | val: u7 | /mks_80/assign_hold |
| Glide | val: u7 | /mks_80/glide |
| Sens | val: u7 | /mks_80/sens |
| Vco1 bend | val: u7 | /mks_80/vco1_bend |
| Vco2 bend | val: u7 | /mks_80/vco2_bend |
| At mode | val: u7 | /mks_80/at_mode |
| Lfo2 rate | val: u7 | /mks_80/lfo2_rate |
| Range | val: u7 | /mks_80/range |
| Waveform | val: u7 | /mks_80/waveform |
| Vco 1 mod | val: u7 | /mks_80/vco_1_mod |
| Tune | val: u7 | /mks_80/tune |
| Vco 2 mod | val: u7 | /mks_80/vco_2_mod |
| Vco mixer | val: u7 | /mks_80/vco_mixer |
| Sync | val: u7 | /mks_80/sync |
| Pulse width | val: u7 | /mks_80/pulse_width |
| Pw modulation | val: u7 | /mks_80/pw_modulation |
| Pwm polarity | val: u7 | /mks_80/pwm_polarity |
| Lfo 1 | val: u7 | /mks_80/lfo_1 |
| Env 1 | val: u7 | /mks_80/env_1 |
| Manual depth | val: u7 | /mks_80/manual_depth |
| Env 1 depth | val: u7 | /mks_80/env_1_depth |
| Polarity | val: u7 | /mks_80/polarity |
| Amount | val: u7 | /mks_80/amount |
| Vco selector | val: u7 | /mks_80/vco_selector |
| Frequency | val: u7 | /mks_80/frequency |
| Resonance | val: u7 | /mks_80/resonance |
| Hpf | val: u7 | /mks_80/hpf |
| Env select | val: u7 | /mks_80/env_select |
| Env depth | val: u7 | /mks_80/env_depth |
| Key follow | val: u7 | /mks_80/key_follow |
| Reset | val: u7 | /mks_80/reset |
| Attack | val: u7 | /mks_80/attack |
| Decay | val: u7 | /mks_80/decay |
| Sustain | val: u7 | /mks_80/sustain |
| Release | val: u7 | /mks_80/release |
| Dynamics | val: u7 | /mks_80/dynamics |
| Env 2 level | val: u7 | /mks_80/env_2_level |
| Time | val: u7 | /mks_80/time |
| Level | val: u7 | /mks_80/level |
| Delay | val: u7 | /mks_80/delay |
| Rate | val: u7 | /mks_80/rate |
Performance MIDI
Notes, pitch bend and any CC are also available: /mks_80/note/on <note> <velocity>, /mks_80/cc/<number> <value>, /mks_80/pitchbend <0-16383>, /mks_80/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
Can an AI agent like Claude control the Roland MKS-80?
Yes: SynthHub's hosted MCP server knows the Roland MKS-80's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.