Simple Piano

Wanna capture a short musical idea or share it with others? Tap some notes or play your MIDI keyboard (Chrome only), and click Save. You can share the resulting page URL or bookmark it. Source.

Ready!!!

Limitations

No velocity is captured (yet). There are a lot of piano samples and I'd have to pull a ton more of them in on the initial page load, or hack the velocity by playing the existing ones at different volumes, probably not sounding great. I've also considered just bailing on the piano sound and generating something pleasant with Tone.js. I'm open to suggestions.

Captured timing is imperfect. Due to the reliance on setTimeout() to play back notes, timing was never going to be great, plus, more exact timing makes the URLs much bigger, so I've sacrificed some granularity. This isn't for professional work.

Credits