Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piano Controls

Linux desktop app for the Casio WU-BT10 Bluetooth MIDI adapter. It talks to the piano with the same private SysEx that Casio MUSIC SPACE uses, so you can start the metronome, change tones, and tweak effects without the phone app.

It was tested only with a Casio Privia PX-S1100 (WU-BT10 MIDI at 50:5E:5C:AD:54:3B). Other Privia / CDP / AP models that use MUSIC SPACE may work, but that has not been tried.

Piano Controls: metronome, Upper 1 tone, and effects connected to WU-BT10 MIDI

Features

Connection

  • Connects to WU-BT10 MIDI (BLE MIDI). That is a different Bluetooth address from WU-BT10 AUDIO (A2DP).
  • Auto-connects on launch if the adapter is already on ALSA or the MIDI device is advertising.
  • Connect WU-BT10 scans and connects if the piano was off when the app started.

Metronome

  • Start / stop. Space toggles while the window is focused.
  • Tempo 20–255 BPM (reset 120).
  • Beat 0–9 (default 4).
  • Volume 0–42 (reset 25 on the PX-S1100 that was used for capture).

Tone (Upper 1)

  • The 17 full-keyboard tones on the PX-S1100 sheet: Grand Piano Concert through Elec. Organ 2.
  • Bass (Lower only) is not on this list. Layer and split were not captured.

Effects

  • Hall on/off, type (Standard / Opera / Berlin / British Stadium), depth 0–42 (reset 21).
  • Surround on/off and type 1–2.
  • Chorus: Off plus Chorus 1–4.
  • Brilliance −3…+3 (reset 0).

The window keeps Connect and status at the top. Metronome, Tone, and Effects sit below and scroll if needed.

Requirements

  • Piano powered on, WU-BT10 plugged in.
  • MUSIC SPACE closed. It holds BLE MIDI exclusively. If the phone app is connected, this app cannot send, and if this app holds MIDI, MUSIC SPACE can freeze.
  • Linux with Qt 6 (Widgets + DBus), ALSA sequencer, and BlueZ.
  • PipeWire / WirePlumber BLE MIDI so the ALSA port WU-BT10 MIDI Bluetooth appears after a Bluetooth connect.

A standalone Linux build (Qt bundled) is on the GitHub releases page as piano-controls-*-x86_64.AppImage. Make it executable and run it; ALSA and BlueZ still come from the system.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
./build/piano-controls

Omarchy / Arch package

Omarchy is Arch-based, so this ships as a normal Arch package (PKGBUILD in this repo).

makepkg -si

That installs /usr/bin/piano-controls, a desktop entry, and an icon.

Runtime depends: qt6-base, alsa-lib, bluez. PipeWire / WirePlumber is needed for the BLE MIDI ALSA port.

Protocol

Commands are Casio’s 17-byte SysEx frame, not standard CC/PC. Encoding lives in src/CasioProtocol.cpp. Byte-level tables and captures are in data/COMMANDS.md.

License

MIT. See LICENSE.

About

Qt 6 controller for Casio WU-BT10 MIDI (tested on Privia PX-S1100)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages