tonejs/tone.js

A Web Audio framework for making interactive music in the browser.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 20 minutes ago
Added to GitGenius on September 4th, 2026
Created on March 11th, 2014
Open Issues & Pull Requests: 64 (+0)
GitHub issues: Enabled
Number of forks: 1,060
Total Stargazers: 14,716 (+0)
Total Subscribers: 208 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.4 days
Mean response time: 105.5 days
90th percentile: 393.1 days
Tracked items: 144

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 6% of issues opened in the past year have been closed. Three people close 83% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 24
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 693 days
Stale 30+ days: 24
Stale 90+ days: 17

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature request (47)
  • Stale (45)
  • cant reproduce (10)
  • react (7)
  • keep (4)
  • safari (3)
  • firefox (2)
  • question (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Tone.js is a Web Audio framework for creating interactive music in the browser.

Tone.js solves the problem of building web-based audio applications by abstracting away the complexity of the Web Audio API while maintaining its power. It provides a familiar architecture for both musicians and audio programmers, offering DAW-like features such as a global transport for synchronizing and scheduling events, prebuilt synthesizers and effects, and high-performance building blocks for creating custom synthesizers and control signals. The framework allows developers to work with musical time notation like quarter-notes and measures rather than raw seconds, and it handles the browser's requirement that audio only starts after user interaction.

Tone.js suits developers building interactive music applications, generative audio systems, or web-based music tools who want to avoid wrestling with low-level Web Audio API details. The framework includes a basic synthesizer with ADSR envelopes, methods for triggering and releasing notes, and a transport system for arranging and looping events. It can be installed via npm or loaded directly in HTML from a CDN. The project provides extensive documentation and examples covering common patterns like scheduling notes in the future and managing the AudioContext lifecycle.

The project maintains active engagement with its codebase, regularly addressing issues and pull requests from the community. Development shows consistent attention to both bug fixes and feature requests, with maintainers providing detailed feedback on contributions. The project demonstrates responsiveness to user needs while maintaining the stability of its core API.