https://tonejs.github.io/demos
Tone.js leverages the Web Audio API to provide a framework for creating interactive music in the browser.
The Web Audio API is a promising W3C recommendation for creating music on the web, but is not without its challenges and limitations. Tone.js strives to provide a framework that is familiar to both musicians and audio programmers for creating web-based audio applications.
Tone.js offers a wide range of digital audio workstation (DAW) features, including scheduling events, prebuilt synths and effects, and more. Tone.js provides an abstraction on top of Web Audio's
AudioContext
time, replacing seconds with music notes or measures.