Awesome WebAudio
Inspired by the awesome list thing.
Please raise a Pull-Request to add an awesome WebAudio thing to this list.
Contents
Packages
Frameworks
- Tone.js - A framework for making interactive music in the browser.
- 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.
- Bap - A toolkit for making beats and composing sequences, inspired by the classic MPC60/2000.
- WAAX - Build Music Apps for browsers.
- Omnitone - Spatial audio on the web.
Libraries
- 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.
- smoothfade - A library for smoothly fading between two AudioNodes.
- web-audio-test-api - A Web Audio test library for CI.
- virtual-audio-graph - Library for declaratively manipulating the Web Audio API.
- javascript-karplus-strong - JavaScript/Web Audio implementation of Karplus-Strong guitar synthesis.
- XSound.js - Full stack library.
- osc-msg - OSC message decoder/encoder with fault tolerance.
- Meyda - Audio feature extraction library including a variety of widely used audio features.
- 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.
- Wavesurfer.js - Interactive navigable audio visualization using Web Audio and Canvas.
- envelope-generator - Simple ADSR envelope generator for web audio.
- Audiojs - An object that enables you to store, read, and write PCM audio data more easily.
- audio contour - A 5 stage audio envelope generator.
- Tuna - An audio effects library.
- 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.
- 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
Utilities
- 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.
- Audion - Chrome extension that adds a Web Audio panel to Developer Tools.
- web-audio-oscillators - A collection of Web Audio custom oscillators.
MIDI
- midimessage - A simple MIDI Message parser.
- 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.
- JZZ - MIDI library for Node.js and all major browsers.
- JZZ-midi-Gear - Retrieve your MIDI device model and manufacturer.
Apps
- 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.
- Code Player - An experimental app that makes your codes sing for you.
- 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.
Resources
Tutorials
- 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).
Books
- 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
- Web Audio Weekly Newsletter - A weekly review of what's happening in Web Audio.
Community
- Slack - A Slack for discussing Web Audio.
License
To the extent possible under law, Chinmay Pendharkar has waived all copyright and related or neighboring rights to this work.