Light-Up Piano
A browser replacement for the POP Piano app: play MIDI files on your lighted-key piano and learn songs one segment at a time.
not connected
Song
no file loaded
0:00 / 0:00
Click a key to turn its light on or off (in Learn mode a click counts as playing it). ■ lit · ■ you're pressing it.
About
This page replaces the POP Piano app for pianos with light-up keys. It runs entirely in your browser and talks to the piano over Bluetooth.
- Tested with a Vangoa 88-key lighted piano. It should also work with other light-up keyboards built on the same Bluetooth module, the ones that work with POP Piano.
- Look for a Bluetooth device named
GZUT-MIDIwhen you connect. The connect dialog only lists devices whose name starts with "GZUT" or that offer Bluetooth MIDI. - Use desktop Chrome or Edge. The page needs Web Bluetooth, which Safari and Firefox don't support.
- The piano accepts one connection at a time. Close POP Piano on your phone and don't pair the piano in your computer's MIDI settings (Audio MIDI Setup on a Mac) before connecting here.
- Regular MIDI apps can't drive the lights. The piano's firmware only accepts Bluetooth MIDI packets with a fixed timestamp, and the operating system's MIDI stack (including Web MIDI) always sends real timestamps. That's why this page talks to Bluetooth directly.
Protocol notes (for developers)
- Standard BLE MIDI: service
03b80e5a-ede8-4b33-a751-6ce34ec4c700, characteristic7772e5db-3868-4112-a1a9-f2669d106bf3. Write without response; subscribe to notifications to receive the keys you press. - Every packet must use the timestamp bytes
80 80. - Light a key:
80 80 F0 4D 4C 4E 45 <note> 02 80 F7(the bytes4D 4C 4E 45are "MLNE" in ASCII). Send00instead of02to turn it off. - All lights off:
80 80 F0 50 00 00 00 00 00 80 F7 - Play a sound:
80 80 90 <note> <velocity>(and80 80 80 <note> 00to release). Several notes can go in one packet, each preceded by80. Notes sent this way don't light their keys. - No initialization or handshake is needed.
Not affiliated with Vangoa or POP Piano. The protocol was worked out by capturing the Bluetooth traffic between the POP Piano app and the piano.