Loading API...
What’s all this hubub?
MIDI.js ties together, and builds upon frameworks that bring MIDI to the browser. Combine it with jasmid to create a web-radio MIDI stream similar to this demo, or with Three.js, Sparks.js, or GLSL to create Audio/visual experiments. Piano/guitar simulations, Drum machines, and all kinds of certified funkitude is within your grasps!
Google Chrome, Firefox, Opera, or Safari is recommended for best listening experience. Internet Explorer sounds a bit more like the piano has been drinking, arrr.
Carpe beerum, and commandeer yer own copy!
Basic Examples
- Basic (play note)
- MIDI Player
- Whitney Music Box
Demos
- Color Piano by Michael Deal mudcube
- 3D Piano Player w/ Three.js by Borja Morales @reality3d
- Simon Says by Daniel Christopher uxmonk
- Brite Lite by Daniel Christopher uxmonk
- Euphony 3D Piano by Xueqiao Xu @qiao
- VexFlow by Mohit Muthanna @11111110b
- Spiral Keyboard by Patrick Snels
- Whitney Music Box by KrazyDad
- Ragamroll by Mani Balasubramanian
Many thanks to the authors of these libraries!
- <audio>: HTML5 specs
- WebAudio API: W3C proposal by Google
- WebAudio API Shim
- WebMIDI API
- WebMIDI API Shim
- SoundManager2 by Scott Schiller (Flash fallback)
- jasmid: MIDI file byte-code reader, and translats into a Javascript array.
- Base64binary.js: Converts base64 soundfonts to binary for Web Audio API.