I'll get to work on a video demo! The app has a sort of piano VSTI running in the browser, so what you hear will be reliably reproduced on the peer side.
Most (if not all) digital keyboards also support receiving MIDI which will be played by the piano's own sound engine!
This will probably require assigning the received MIDI to a different channel than 0 to allow simultaneous play without conflicting note offs and sustains.
Wrote it myself. It's a javascript object that loads in all the piano sounds and manages the audiocontext. When the MIDI note/velocity/pedal state updates, a method on the object is called to play the sound.
This will probably require assigning the received MIDI to a different channel than 0 to allow simultaneous play without conflicting note offs and sustains.