Brian Jordan using it in 2024:

February 14, 2023" draggable="false" contenteditable="false" class="twitter-tweet">

This is a tweet embed February 14, 2023

What does Tone.js do?

At its core, Tone.js offers a mix of familiar digital audio workstation (DAW) functionalities alongside prebuilt synths and effects. By providing tools for all sorts, such as synchronizing events, working with synthesizers, and handling complex control signals, it enables users to build out musical ideas in a web-based environment. Here's a great tutorial series to get you started:

Essentials of Tone.js

  • Web Audio framework for creating interactive music in the browser

  • Prebuilt synthesizers (e.g., Tone.Synth, Tone.FMSynth, Tone.AMSynth, Tone.NoiseSynth)

  • Prebuilt effects (e.g., Tone.Distortion, Tone.Filter, Tone.FeedbackDelay)

  • Scheduling capabilities through the Web Audio API

  • Audio sample playback with Tone.Player

  • Multi-sample instrument support with Tone.Sampler

  • MIDI file conversion and playback capability

  • Extensive test suite and browser compatibility

  • Performance optimization through the use of native Web Audio Nodes

Tone.js Demos

Tone.js has a great examples page that gives you some starter code for using effects, sequencing/timing, signals, visualisation and more. There's also an awesome gallery of demos for inspiration:

Screenshot of tone.js project gallery
Screenshot of tone.js demo gallery

So whether you're looking to create intricate synthesized soundscapes, manipulate audio samples, or build complex signal processing chains, Tone.js is gives you great framework to experiment with. Optimized for performance, and leveraging native Web Audio Nodes, it ensures a good user experience across desktop and mobile browsers.

For more detailed information, including API documentation, examples, and demos, you can refer to the official Tone.js website or check out the project's GitHub repository to see the latest developments.