Written from devices/kawai/k5.electra-community-wip.fw-unknown.jsonEdit on GitHubJSON

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

osc-bridge osc-send /k5/custom 63

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

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.

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.