Skip to content

Kawai K5: MIDI CC, NRPN and OSC map

The Kawai K5 as named OSC addresses — 3 CC, 91 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Kawai K5
Vendor Kawai
OSC prefix /k5
Source 🎛️ Derived from an Electra One community preset
Revision per Electra preset
Upstream electra-preset
Driver file devices/kawai/k5.json

Not tested on the device yet

This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.

How do you control 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.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 CC and NRPN parameters (3)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/k5/custom 124 0–127 continuous
/k5/custom 125 0–127 continuous
/k5/custom 55 0–127 continuous

SysEx commands (91)

OSC address Arguments
/k5/source_1/coarse val: u7
/k5/source_1/envelope val: u7
/k5/source_1/vel_mod val: u7
/k5/source_2/coarse val: u7
/k5/source_2/envelope val: u7
/k5/source_2/velocity val: u7
/k5/source_1/fine val: u7
/k5/source_1/pressure val: u7
/k5/source_2/fine val: u7
/k5/source_2/pressure val: u7
/k5/source_1/key val: u7
/k5/source_1/lfo val: u7
/k5/source_1/press_mod val: u7
/k5/source_2/key val: u7
/k5/source_2/lfo val: u7
/k5/source_2/press_mod val: u7
/k5/source_1/fixed_key val: u7
/k5/source_1/pitchbend val: u7
/k5/source_2/fixed_key val: u7
/k5/source_2/pitchbend val: u7
/k5/source_1/loop_3_4 val: u7
/k5/source_2/loop_3_4 val: u7
/k5/source_1/rate_1 val: u7
/k5/source_1/rate_2 val: u7
/k5/source_1/rate_3 val: u7
/k5/source_1/rate_4 val: u7
/k5/source_1/rate_5 val: u7
/k5/source_1/rate_6 val: u7
/k5/source_1/level_1 val: u7
/k5/source_1/level_2 val: u7
/k5/source_1/level_3 val: u7
/k5/source_1/level_4 val: u7
/k5/source_1/level_5 val: u7
/k5/source_1/level_6 val: u7
/k5/source_2/rate_1 val: u7
/k5/source_2/rate_2 val: u7
/k5/source_2/rate_3 val: u7
/k5/source_2/rate_4 val: u7
/k5/source_2/rate_5 val: u7
/k5/source_2/rate_6 val: u7
/k5/source_2/level_1 val: u7
/k5/source_2/level_2 val: u7
/k5/source_2/level_3 val: u7
/k5/source_2/level_4 val: u7
/k5/source_2/level_5 val: u7
/k5/source_2/level_6 val: u7
/k5/source_1/range_to val: u7
/k5/angle val: u7
/k5/source_1/all_mod_off val: u7
/k5/shadow val: u7
/k5/velocity val: u7
/k5/pressure val: u7
/k5/ks val: u7
/k5/lfo val: u7
/k5/source_1/enabled val: u7
/k5/source_1/mod_enabled val: u7
/k5/source_1/cutoff val: u7
/k5/source_1/cutoff_mod val: u7
/k5/source_1/flat_level val: u7
/k5/source_1/slope val: u7
/k5/source_1/slope_mod val: u7
/k5/source_1/env_depth val: u7
/k5/source_1/env_depth_vel val: u7
/k5/source_1/velocity_depth val: u7
/k5/source_1/press_depth val: u7
/k5/source_1/ks_depth val: u7
/k5/source_1/lfo_depth val: u7
/k5/max_segment val: u7
/k5/source_1/attk_vel_depth val: u7
/k5/source_1/attk_vel_rate val: u7
/k5/source_1/rls_vel_rate val: u7
/k5/source_1/ks_rate val: u7
/k5/dft/enabled val: u7
/k5/dft/c_1 val: u7
/k5/dft/c0 val: u7
/k5/dft/c1 val: u7
/k5/dft/c2 val: u7
/k5/dft/c3 val: u7
/k5/dft/c4 val: u7
/k5/dft/c5 val: u7
/k5/dft/c6 val: u7
/k5/dft/c7 val: u7
/k5/dft/c8 val: u7
/k5/dft/c9 val: u7
/k5/lfo/shape val: u7
/k5/lfo/speed val: u7
/k5/lfo/delay val: u7
/k5/lfo/trend val: u7
/k5/source_1/left val: u7
/k5/source_1/break_point val: u7
/k5/source_1/right val: u7

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.