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.

Protocol notes (for developers)
  • Standard BLE MIDI: service 03b80e5a-ede8-4b33-a751-6ce34ec4c700, characteristic 7772e5db-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 bytes 4D 4C 4E 45 are "MLNE" in ASCII). Send 00 instead of 02 to 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> (and 80 80 80 <note> 00 to release). Several notes can go in one packet, each preceded by 80. 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.