Javascript audio

Printer-friendly version

I want to make some stuff in my browser make sound.
My main excuse is the synestizer project.

Raw(ish) DSP

If you want to use a library to simplify things, see below.
First, here’s the instructions for going “bareback”,
which is still reasonably high-level:

Web Audio libraries

Simplifying repetitive tasks.
Which of these is the hottest?

  • tone.js is another webaudio framework; a particular selling point is that is has its own timing/scheduling system based on DSP-javascript, which is pretty clever.

  • Audiocomponents is a strategy to use the new webcomponents system to (more or less) make Webaudio a matter of pure HTML.

  • jswiki overview
    for audio libraries.

  • WAAX is the best designed.
    Still, the boss-guy has been hired by Google and dropped out more or less.

  • The incredible Faust DSP language can
    target optimised javascript
    (To learn: how to mix JavascriptNode and native AudioNode with this approach.)

  • Webaudiox

    …is a bunch of helpers for WebAudio API.
    It isn’t a library per se.
    You can use any of those helpers independantly. (sic)

    (sic). It appears to in fact be precisely a library,
    unlike the various crazy frameworks on display here.
    I regard this as a plus.

  • Flocking attempts to port supercollider to webaudio. (abandoned-ish)

  • beep

  • Timbre.js

  • Gibber claims to be a full-featured “livecoding environment”,
    which is not my focus, but perhaps it has good parts?
    (see also
    the manual).
    It’s style is opinionated for my tastes,
    and it has a weird DSL that is even slower and less consistent than JS itself.
    However, the maintainer is passionate.

  • Audiolet

  • WebPd is a partial port of puredata to javascript

Audio UI libraries

This is surprisingly a big enough topic to merit its
own section;
It’s not an exciting surprise though, it’s one of those things that is simultaneously surprising and tedious, like unexpectedly discovering the tax return that you thought you submitted a month ago still on your desk.


Works! WebMIDI spec.

See original: The Living Thing / Notebooks Javascript audio