Awesome WebAudio
    
      
    
    
      
    
    
      
        A curated list of awesome
        WebAudio
        packages and demos.
      
    
    
      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.
      
 
      - 
        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.
      
 
    
    Libraries
    
      - 
        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.
      
 
      - 
        p5.sound -
        An extension that adds Web Audio functionality to the creative coding
        library p5.js.
      
 
      - 
        [@magenta/music](https://github.com/magenta/magenta-js/tree/master/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.
      
 
    
    Utilities
    
      - 
        Audion - Chrome extension
        that adds a Web Audio panel to Developer Tools.
      
 
      - 
        web-audio-generator
        - A UI for generating Web Audio code.
      
 
    
    MIDI
    
      - 
        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.
      
 
    
    Apps
    
      - 
        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
      
 
    
    Resources
    Tutorials
    
    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
    
    
    
      - 
        Slack - A Slack
        for discussing Web Audio.
      
 
    
    Obsolete
    Projects 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).
      
 
    
    License
    
      
    
    
      To the extent possible under law,
      Chinmay Pendharkar has waived all
      copyright and related or neighboring rights to this work.