At Martian we designed an abstract set of 'piano keys', or objects that would be assigned to unique notes. We built the front-end with threeJS; the notes can be triggered with mouse, keyboard, or touch events.
We served the site off of a RaspberryPi from our office; the Pi also generated the notes.
We tethered an Arduino and a strip of RGB LEDs and assigned each LED to a note.
This works over any connection to the web; there's almost zero-latency! It's pretty awesome. While ultimately not a very useful tool, this was a fun project to prototype out.
