Tone.js
tonejs.github.io
1
Leaving SiteNav
External Link Disclaimer
You are about to visit tonejs.github.io. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Tone.js is a Web Audio framework for creating interactive music and sound design in the browser, created by Yotam Mann at NYU. The library provides a musician-friendly API built on top of the Web Audio API, abstracting away the low-level audio graph manipulation with a set of high-level components for synthesis, sampling, effects processing, and time scheduling. The global Transport acts as a master clock that synchronizes all audio events with sample-accurate timing, supporting tempo changes, loop regions, time signature changes, and MIDI clock output for external hardware synchronization. Built-in synthesizers include Tone.Synth for basic subtractive synthesis with ADSR envelopes, Tone.PolySynth for polyphonic voices, Tone.FMSynth and Tone.AMSynth for frequency and amplitude modulation, Tone.MonoSynth for monophonic leads, and Tone.NoiseSynth for percussive elements. Tone.Sampler enables sample-based instruments by mapping audio files across the keyboard with automatic pitch shifting. The effects chain includes distortion, filters with adjustable cutoff and resonance, feedback delay, convolution and algorithmic reverb, chorus, phaser, and bitcrusher modules. The signal system provides automation for any audio parameter using linear, exponential, or custom curves, enabling LFO-driven modulation, envelope shaping, and generative composition techniques. Tone.js supports importing MIDI files and rendering them through any synthesizer configuration, and includes a Player component for direct audio file playback with loop points and playback rate control. The library uses standardized-audio-context for cross-browser compatibility and is tested with mocha and chai at approximately 100 percent code coverage.
Statistics
1
Views
0
Clicks
0
Like
0
Dislike