A web audio library providing over 3,000 historical microtonal and just intonation scales for creative sound design.
Tune.js is a JavaScript library for web audio that provides access to over 3,000 microtonal and just intonation scales. It solves the problem of working with non-standard tuning systems in browser-based audio applications by porting historical tunings from the Scala archive and offering a simple API for note generation and manipulation.
Web audio developers, creative coders, and musicians building interactive sound applications, experimental music tools, or educational resources about alternative tuning systems.
Developers choose Tune.js for its extensive, curated collection of historical tunings, its seamless integration with the Web Audio API, and its straightforward API that abstracts the complexity of microtonal pitch calculation.
A web audio tuning library of microtonal and just intonation scales
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides access to over 3,000 historical scales from the Scala archive, eliminating the need to manually implement complex tuning systems.
Supports frequency, ratio, and MIDI outputs, making it versatile for different audio processing and analysis needs.
Methods like note() and chord() offer straightforward ways to generate microtonal pitches and harmonies with minimal code, as shown in the quick start guide.
Allows developers to quickly find specific tunings by name or keyword within the extensive library using the search() method.
Wraps scale degrees across octaves automatically, simplifying note generation in multi-octave contexts without manual calculations.
Only accepts MIDI as input, as stated in the README, limiting integration with other control sources or real-time modulation.
The library is tied to its pre-compiled archive with no documented method for adding user-defined tunings, restricting flexibility.
Designed specifically for the Web Audio API, so it cannot be used in server-side or non-browser JavaScript environments.
The README covers basics but lacks guidance on performance optimization, advanced use cases, or integration with other audio libraries.