Web Audio
Frameworks
6_ENTRIES- Tone.js
A framework for making interactive music in the browser.
- Bap
A toolkit for making beats and composing sequences, inspired by the classic MPC60/2000.
- Omnitone
Ambisonic spatial audio on the web.
- Mach1Spatial
Vector based panning spatial audio on the web.
- Elementary
Declarative, functional framework for writing audio software on the web or for native apps
- React Native Audio API
Web Audio API implementation for native apps based on react-native.
Libraries
21_ENTRIES- smoothfade
A library for smoothly fading between two AudioNodes.
- virtual-audio-graph
Library for declaratively manipulating the Web Audio API.
- XSound.js
Full stack library.
- Sound.js
A micro-library to load, play and generate sound effects and music for games and interactive applications.
- Meyda
Audio feature extraction library including a variety of widely used audio features.
- Wavesurfer.js
Interactive navigable audio visualization using Web Audio and Canvas.
- Audiojs
An object that enables you to store, read, and write PCM audio data more easily.
- Tuna
An audio effects library.
- Rythm.js
A javascript library that makes your page dance.
- Howler.js
A comprehensive library with a fallback to HTML5 Audio.
- Circular Audio Wave
A JS library for audio visualization in circular wave using Web Audio API and ECharts.
- Wad
Web Audio DAW. Use the Web Audio API for dynamic sound synthesis. It's like jQuery for your ears.
- @magenta/music
A JavaScript library to use machine learning models and generate music in the browser, by having some neat abstractions over the Webaudio API.
- soundfont-player
A soundfont loader/player to play MIDI sounds using WebAudio API.
- html-midi-player
HTML elements for easy MIDI playback and visualization, without the need to write any custom JS code, but scriptable and stylable as needed.
- MusicXML Player
A TypeScript component that loads and plays MusicXML files in the browser using Web Audio and Web MIDI.
- waveform-path
Library to generate waveforms paths in svg.
- wave-audio-path-player
Simple audio player webcomponent customizable with waveform.
- dsssp
React component library for visualizing and managing audio filters with drag-n-drop and transitions support.
- tuning-fork
A configurable client-side JavaScript library for guitar tuning with real-time pitch detection.
Utilities
2_ENTRIES- Audion
Chrome extension that adds a Web Audio panel to Developer Tools.
- web-audio-generator
A UI for generating Web Audio code.
MIDI
4_ENTRIES- midimessage
A simple MIDI Message parser.
- JZZ
MIDI library for Node.js and all major browsers.
- JZZ-midi-Gear
Retrieve your MIDI device model and manufacturer.
- WEBMIDI.js
The Web MIDI API made easy.
Apps
28_ENTRIES- BassoonTracker
MOD/XM Tracker in Javascript.
- LoopDrop App
MIDI looper, modular synth and sampler app built using Web Audio and Web MIDI APIs.
- X Sound
Multi Sound Application that uses XSound.js.
- Molgav
Musical Step Sequencer for melodies exchange.
- mod-synth.io
Create your own modular synthesizer, or emulate different synths.
- GridSound
A work-in-progress DAW (Digital Audio Workstation).
- Learning Music
Learn the basics of music making.
- Super Oscillator
An interactive, 3D music synthesizer for the Web.
- AudioNodes
Modular audio production suite with multi-track audio mixing, audio effects, parameter automation, MIDI editing, synthesis, cloud production, and more.
- waveform-playlist
Multitrack Web Audio editor and player with canvas waveform preview. Set cues, fades and shift multiple tracks in time. Record audio tracks or provide audio annotations. Export your mix to AudioBuffer or WAV! Project inspired by Audacity.
- SoundCycle
A Web Audio based Loopstation for musicians with effects and different looping modes.
- DSP.audio Worklet Editor
Online Audio Worklet editor for sketching and collaboration, with sampler, MIDI and analyzers. Like a JSFiddle, but for DSP.
- AudioMass
free, open source, web-based Audio and Waveform Editor.
- Csound IDE
web IDE for CSound programming language.
- jamhub
low-latency remote music collaboration & jam.
- Web Audio Metronome
metronome app that uses the Web Audio scheduler and setTimeout scheduler
- EarSketch
free educational programming environment to teach Python and Javascript through music composing and remixing
- webaudio-tinysynth
a small synthesizer written in JavaScript with GM like timbre map.
- web-audio-beat-detector
a beat detection utility which is using the Web Audio API
- web-audio-mixer
An audio mixer built using Web Audio.
- Audio-motion interface
A web synthesizer that generates sound using smartphone gestures in the space.
- Topos
A Web based live coding environment inspired by the Monome Teletype. Uses Web Audio and MIDI.
- Online Sequencer
A simple and easy-to-use sequencer with plenty of functionality, based around the Web Audio API.
- Binary Synth
A web-synthesizer that generates sound from the binary code of any files.
- dsssp-demo
WebAudio music player with 7-bands EQ and filter presets.
- SingMeter
A collection of browser-based singing tools including a pitch detector and vocal range test.
- Drumhaus
a browser-based drum machine with step sequencing, pattern variations, and groove editing.
- All-in-One Advanced BPM Tool
Instantly measure song speed by tapping or using the spacebar. Features MIDI input, optional sound clicks, and real-time BPM visualization. Essential for producers, DJs, rhythm gamers.
Tutorials
8_ENTRIES- WebAudio School
A series of self-guided workshops to learn WebAudio.
- Web Audio API Understandable Reference
A reference that aims to be easy to understand for those who know some JavaScript and basic audio principles.
- The Web Audio API: What Is It?
Intro to WebAudio.
- Web Audio Basics
A growing set of light code samples with CodePen links for each.
- Web Audio Perf
Performance of various AudioNodes and strategies for efficient resource usage (from WAC2016).
- Percussion Synthesis Using Web Audio
This tutorial will introduce the basics of web audio programming by writing code to synthesize simple percussion sounds (from WAC2016).
- Browser Noise: Web Audio Tutorials
Playlist of video tutorials by Dan Tramte, hosted on the Audio Programmer YouTube channel.
- audio-katas
A collection of self-guided katas during which you will build a DAW of your own while getting exposed to the key Web Audio APIs.
Books
2_ENTRIES- JavaScript for Sound Artists
A bottom up JavaScript / DOM course using Web Audio for all the examples.
- Web Audio API
Intended to be a springboard for web developers with little to no digital audio expertise. Geared towards game audio and interactive apps.
Newsletters
1_ENTRIES- Web Audio Weekly Newsletter
A weekly review of what's happening in Web Audio.
Community
2_ENTRIES- Slack
A Slack for discussing Web Audio.
- Web Audio Conference
International conference dedicated to web audio technologies and applications.
Obsolete
28_ENTRIESProjects without activity since January 2019 or officially dead.
- Gibberish
A JavaScript DSP library that creates JIT optimized audio callbacks using code generation techniques.
- lissajous
A tool for programmatic audio performance.
- SSSynthesiser.js
A wavetable synthesizer for interactive music and sound effects.
- WAAX
Build Music Apps for browsers.
- Band.js
An interface for the Web Audio API that supports rhythms, multiple instruments, repeating sections, and complex time signatures.
- reverbGen
A JavaScript library for generating artificial reverb impulse responses.
- TuneJS
A tuning library of microtonal and just intonation scales. Supports over 3,000 historical tunings.
- Beet.js
A sequencer library for creating euclidean rhythms and polyrhythms.
- AudioKeys
A QWERTY keyboard for web audio projects.
- web-audio-test-api
A Web Audio test library for CI.
- javascript-karplus-strong
JavaScript/Web Audio implementation of Karplus-Strong guitar synthesis.
- osc-msg
OSC message decoder/encoder with fault tolerance.
- Pizzicato
A library that aims to simplify the creation and manipulation sounds in the browser.
- Mooog
Tools that simplify working with AudioNodes, inspired by jQuery and mixing tables.
- envelope-generator
Simple ADSR envelope generator for web audio.
- audio contour
A 5 stage audio envelope generator.
- web-audio-recorder-js
A library that records audio input (Web Audio API AudioNode object) and encodes to audio file image (Blob object).
- audiolet
A JavaScript library for real-time audio synthesis and composition from within the browser.
- playnote
Play your favorite instrument in the browser, with complex note intervals and scales.
- Recorderjs
A plugin for recording/exporting the output of Web Audio API nodes.
- resampler
A utility for resampling audio.
- bpm-detective
Detects the BPM of a song or audio sample.
- web-audio-utils
Commonly needed utility functions for Web Audio API.
- web-audio-oscillators
A collection of Web Audio custom oscillators.
- midi-ports
handy library to make it easier to work with attached MIDI devices.
- Midi Logger
This Midi Logger will print all midi input to your browser for debugging.
- Code Player
An experimental app that makes your codes sing for you.
- Web Audio Modules
synthesizers and audio effects processors for web browsers (both API and implementations).