Written from devices/roland/mks_80.electra-markus-schlosser-v3.fw-unknown.jsonEdit on GitHubJSON

Roland 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:

osc-bridge osc-send /mks_80/upper_tone

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>.

JSON

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.