The editor for the KMI K-Board Pro 4 MPE keyboard controller — a browser and desktop app for editing presets, key/zone configuration, MPE settings, velocity curves, and for updating the controller's firmware.
This is an npm-workspaces monorepo targeting Node 24 / Create React App 5 (via craco) for the web app and Electron 29 for the desktop app.
apps/web— browser editor (React / Redux, CRA 5 + craco)apps/desktop— Electron desktop shell that loads the built web rendererpackages/kbp4-js-api— shared device transport and SysEx layer (Web MIDI)
- Node.js 24 (pinned in
.nvmrc— runnvm usein this directory) - npm 10+ (ships with Node 24)
nvm use # select Node 24
npm install # install all workspaces from the rootnpm run start --workspace apps/webThe editor connects to a K-Board Pro 4 over Web MIDI (Chrome/Edge). Grant the browser MIDI + SysEx permission when prompted.
npm run start --workspace apps/desktopThis builds the web renderer, syncs it into apps/desktop/renderer/, and launches
Electron.
The desktop app updates the K-Board Pro 4 firmware in two stages — the central board first, then the four peripheral octave boards. A progress dialog reports each stage; if an octave does not respond, the update reports a failure and links to support.musekinetics.com.
Source code is licensed under the Mozilla Public License 2.0 (MPL-2.0) — see
LICENSE. The license covers the source code only and grants no rights to
KMI Music, Inc. trademarks or brand assets — see NOTICE. Contributions are
welcome under the terms in CONTRIBUTING.md.