devices/kawai/k5.electra-community-wip.fw-unknown.jsonEdit on GitHubJSONKawai K5 (per Electra preset) MIDI CC chart, NRPN and OSC map
The Kawai K5 MIDI implementation: 3 CC, 91 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.
- sourceElectra One preset
- real unitnot yet checked
Not checked on a real Kawai K5 yet. Own one? Load a sound or send a control, and tell us whether it worked.
- Maker
- Kawai
- Version
- per Electra preset
- Source
- Electra One preset
- OSC prefix
/k5
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/kawai/k5.electra-community-wip.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 k5: ask “what can the Kawai K5 do?” and it reads this map with list_routes. See the MCP guide.
MIDI controls
94 controls, each with its number, its range and the name to send
| Control | CC | Range | Name to send |
|---|---|---|---|
| Custom | 124 | 0–127 | /k5/custom |
| Custom | 125 | 0–127 | /k5/custom |
| Custom | 55 | 0–127 | /k5/custom |
SysEx commands
| Command | Arguments | Name to send |
|---|---|---|
| Source 1 coarse | val: u7 | /k5/source_1/coarse |
| Source 1 envelope | val: u7 | /k5/source_1/envelope |
| Source 1 vel mod | val: u7 | /k5/source_1/vel_mod |
| Source 2 coarse | val: u7 | /k5/source_2/coarse |
| Source 2 envelope | val: u7 | /k5/source_2/envelope |
| Source 2 velocity | val: u7 | /k5/source_2/velocity |
| Source 1 fine | val: u7 | /k5/source_1/fine |
| Source 1 pressure | val: u7 | /k5/source_1/pressure |
| Source 2 fine | val: u7 | /k5/source_2/fine |
| Source 2 pressure | val: u7 | /k5/source_2/pressure |
| Source 1 key | val: u7 | /k5/source_1/key |
| Source 1 lfo | val: u7 | /k5/source_1/lfo |
| Source 1 press mod | val: u7 | /k5/source_1/press_mod |
| Source 2 key | val: u7 | /k5/source_2/key |
| Source 2 lfo | val: u7 | /k5/source_2/lfo |
| Source 2 press mod | val: u7 | /k5/source_2/press_mod |
| Source 1 fixed key | val: u7 | /k5/source_1/fixed_key |
| Source 1 pitchbend | val: u7 | /k5/source_1/pitchbend |
| Source 2 fixed key | val: u7 | /k5/source_2/fixed_key |
| Source 2 pitchbend | val: u7 | /k5/source_2/pitchbend |
| Source 1 loop 3 4 | val: u7 | /k5/source_1/loop_3_4 |
| Source 2 loop 3 4 | val: u7 | /k5/source_2/loop_3_4 |
| Source 1 rate 1 | val: u7 | /k5/source_1/rate_1 |
| Source 1 rate 2 | val: u7 | /k5/source_1/rate_2 |
| Source 1 rate 3 | val: u7 | /k5/source_1/rate_3 |
| Source 1 rate 4 | val: u7 | /k5/source_1/rate_4 |
| Source 1 rate 5 | val: u7 | /k5/source_1/rate_5 |
| Source 1 rate 6 | val: u7 | /k5/source_1/rate_6 |
| Source 1 level 1 | val: u7 | /k5/source_1/level_1 |
| Source 1 level 2 | val: u7 | /k5/source_1/level_2 |
| Source 1 level 3 | val: u7 | /k5/source_1/level_3 |
| Source 1 level 4 | val: u7 | /k5/source_1/level_4 |
| Source 1 level 5 | val: u7 | /k5/source_1/level_5 |
| Source 1 level 6 | val: u7 | /k5/source_1/level_6 |
| Source 2 rate 1 | val: u7 | /k5/source_2/rate_1 |
| Source 2 rate 2 | val: u7 | /k5/source_2/rate_2 |
| Source 2 rate 3 | val: u7 | /k5/source_2/rate_3 |
| Source 2 rate 4 | val: u7 | /k5/source_2/rate_4 |
| Source 2 rate 5 | val: u7 | /k5/source_2/rate_5 |
| Source 2 rate 6 | val: u7 | /k5/source_2/rate_6 |
| Source 2 level 1 | val: u7 | /k5/source_2/level_1 |
| Source 2 level 2 | val: u7 | /k5/source_2/level_2 |
| Source 2 level 3 | val: u7 | /k5/source_2/level_3 |
| Source 2 level 4 | val: u7 | /k5/source_2/level_4 |
| Source 2 level 5 | val: u7 | /k5/source_2/level_5 |
| Source 2 level 6 | val: u7 | /k5/source_2/level_6 |
| Source 1 range to | val: u7 | /k5/source_1/range_to |
| Angle | val: u7 | /k5/angle |
| Source 1 all mod off | val: u7 | /k5/source_1/all_mod_off |
| Shadow | val: u7 | /k5/shadow |
| Velocity | val: u7 | /k5/velocity |
| Pressure | val: u7 | /k5/pressure |
| Ks | val: u7 | /k5/ks |
| Lfo | val: u7 | /k5/lfo |
| Source 1 enabled | val: u7 | /k5/source_1/enabled |
| Source 1 mod enabled | val: u7 | /k5/source_1/mod_enabled |
| Source 1 cutoff | val: u7 | /k5/source_1/cutoff |
| Source 1 cutoff mod | val: u7 | /k5/source_1/cutoff_mod |
| Source 1 flat level | val: u7 | /k5/source_1/flat_level |
| Source 1 slope | val: u7 | /k5/source_1/slope |
| Source 1 slope mod | val: u7 | /k5/source_1/slope_mod |
| Source 1 env depth | val: u7 | /k5/source_1/env_depth |
| Source 1 env depth vel | val: u7 | /k5/source_1/env_depth_vel |
| Source 1 velocity depth | val: u7 | /k5/source_1/velocity_depth |
| Source 1 press depth | val: u7 | /k5/source_1/press_depth |
| Source 1 ks depth | val: u7 | /k5/source_1/ks_depth |
| Source 1 lfo depth | val: u7 | /k5/source_1/lfo_depth |
| Max segment | val: u7 | /k5/max_segment |
| Source 1 attk vel depth | val: u7 | /k5/source_1/attk_vel_depth |
| Source 1 attk vel rate | val: u7 | /k5/source_1/attk_vel_rate |
| Source 1 rls vel rate | val: u7 | /k5/source_1/rls_vel_rate |
| Source 1 ks rate | val: u7 | /k5/source_1/ks_rate |
| Dft enabled | val: u7 | /k5/dft/enabled |
| Dft c 1 | val: u7 | /k5/dft/c_1 |
| Dft c0 | val: u7 | /k5/dft/c0 |
| Dft c1 | val: u7 | /k5/dft/c1 |
| Dft c2 | val: u7 | /k5/dft/c2 |
| Dft c3 | val: u7 | /k5/dft/c3 |
| Dft c4 | val: u7 | /k5/dft/c4 |
| Dft c5 | val: u7 | /k5/dft/c5 |
| Dft c6 | val: u7 | /k5/dft/c6 |
| Dft c7 | val: u7 | /k5/dft/c7 |
| Dft c8 | val: u7 | /k5/dft/c8 |
| Dft c9 | val: u7 | /k5/dft/c9 |
| Lfo shape | val: u7 | /k5/lfo/shape |
| Lfo speed | val: u7 | /k5/lfo/speed |
| Lfo delay | val: u7 | /k5/lfo/delay |
| Lfo trend | val: u7 | /k5/lfo/trend |
| Source 1 left | val: u7 | /k5/source_1/left |
| Source 1 break point | val: u7 | /k5/source_1/break_point |
| Source 1 right | val: u7 | /k5/source_1/right |
Performance MIDI
Notes, pitch bend and any CC are also available: /k5/note/on <note> <velocity>, /k5/cc/<number> <value>, /k5/pitchbend <0-16383>, /k5/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.
Other versions
The Kawai K5 is mapped in 2 versions. per Electra preset.
Frequently asked questions
How many parameters of the Kawai K5 can be controlled over MIDI?
SynthHub's map of the Kawai K5 lists 3 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 Kawai K5?
Yes: SynthHub's hosted MCP server knows the Kawai K5's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.