Kawai K5000S & K5000R: MIDI CC, NRPN and OSC map¶
The Kawai K5000S & K5000R as named OSC addresses — 25 CC, 8 NRPN — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | Kawai K5000S & K5000R |
|---|---|
| Vendor | Kawai |
| OSC prefix | /k5000s_k5000r |
| Source | 📦 Derived from MIDI Guide (community CC/NRPN data) |
| Firmware | unknown |
| Revision | per pencilresearch canonical CSV |
| Upstream | pencilresearch |
| Data licence | CC-BY-SA-4.0 — MIDI Guide (https://midi.guide) by Pencil Research and contributors |
| Driver file | devices/kawai/k5000s_k5000r.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/k5000s_k5000r.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 k5000s_k5000r: ask “what can the Kawai K5000S & K5000R do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (33)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/k5000s_k5000r/common/modulation_depth |
1 | 0–127 | continuous | Common | |
/k5000s_k5000r/common/portamento_time |
5 | 0–127 | continuous | Common | |
/k5000s_k5000r/common/volume |
7 | 0–127 | continuous | Common | |
/k5000s_k5000r/common/pan |
10 | 0–127 | continuous | Common | |
/k5000s_k5000r/common/expression |
11 | 0–127 | continuous | Common | |
/k5000s_k5000r/macro/harm_lo |
16 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/harm_hi |
17 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/ff_bias |
18 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/ff_speed |
19 | 0–127 | continuous | Macro | |
/k5000s_k5000r/common/hold_1 |
64 | 0–127 | continuous | Common | |
/k5000s_k5000r/common/portamento |
65 | 0–127 | continuous | Common | |
/k5000s_k5000r/common/hold_2 |
69 | 0–127 | continuous | Common | |
/k5000s_k5000r/macro/even_odd |
71 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/release |
72 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/attack |
73 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/cutoff |
74 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/ff_depth |
75 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/velocity |
76 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/resonance |
77 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/decay |
78 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/user_1 |
80 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/user_2 |
81 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/user_3 |
82 | 0–127 | continuous | Macro | |
/k5000s_k5000r/macro/user_4 |
83 | 0–127 | continuous | Macro | |
/k5000s_k5000r/common/portamento_ctrl |
84 | 0–127 | continuous | Common | |
/k5000s_k5000r/cutoff_offset |
1 / 32 | 1792–14719 | continuous | ||
/k5000s_k5000r/attack_offset |
1 / 99 | 1792–14719 | continuous | ||
/k5000s_k5000r/decay_offset |
1 / 100 | 1792–14719 | continuous | ||
/k5000s_k5000r/release_offset |
1 / 101 | 1792–14719 | continuous | ||
/k5000s_k5000r/switch_1 |
32 / 64 | 0–16383 | continuous | ||
/k5000s_k5000r/switch_2 |
32 / 65 | 0–16383 | continuous | ||
/k5000s_k5000r/foot_switch_1 |
32 / 66 | 0–16383 | continuous | ||
/k5000s_k5000r/foot_switch_2 |
32 / 67 | 0–16383 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /k5000s_k5000r/note/on <note> <velocity>, /k5000s_k5000r/cc/<number> <value>, /k5000s_k5000r/pitchbend <0-16383>, /k5000s_k5000r/program_change <n>.
Limitations¶
CC/NRPN only. SysEx (preset management, display control, bulk dump/load, vendor-proprietary opcodes) is NOT covered by pencilresearch. To extend this device with SysEx, sniff the vendor editor, add `sysex.header/footer` + `commands` blocks, and use `update_device.md` PR template.