Blog Posts

  • Firefox 66 to block automatically playing audible video and audio: Firefox intend to implement an autoplay policy for Audio and Video content in Firefox 66. At the moment this won’t affect Web Audio applications that play sound using the AudioContext but a policy for this is planned for “sometime in 2019”. We looked at the controversy surrounding a similar policy in Chrome in issue 92.
  • Making Reverb with the Web Audio API: an article on how to implement reverberation effects using Web Audio. Typically we’d use a convolution filter (implemented using the ConvolverNode in Web Audio) to add reverberation, but this article improves our understanding of how and why this works by using delays and filters to create our own reverb.
  • Affecting images using the Web Audio API: What happens when you pass an image through a guitar pedal?
  • Audio classification with Keras: An in-depth look at using machine learning to classify audio using Neural Networks (via TensorFlow) to learn the features. The blog post uses the R language but there’s a lot of generally applicable knowledge here.


  • webaudio-macronodes: A handy selection of common effects (delay, equalisation, phasing, distortion etc.) implemented with the Web Audio API and wrapped in constructors that work in the same way as the “built in” node types.
  • A browser-based Korg Monotron Duo clone: Lovely, simple browser-based synth. Read more about the project on reddit.
  • Nudrum: Nudrum is designed to help students and teachers learn more about multirhythm and multimeter music. The full source code for the project is on Github.
  • Tracker Radio: Spotify for Tracker Mods: A browse-able interface for a huge archive of classic “tracker” music. It plays the entire archive using the WeTracker WebAudio engine.
  • Bassoon Tracker: An Amiga-style tracker implemented in the browser. The source code is on github. Amazing.
  • schlae/snark-barker: If you’re feeling really nostalgic you could build your own 100% compatible replica of the SoundBlaster sound card.
  • Makkeróni: A linux shell-like live coding system. There’s a huge amount to play with here, type help to get started.
  • Visualising Noise: Visualise (but sadly not auralize) common noise generation algorithms in 1D and 2D.
  • Veremin  -  A Browser-based Video Theremin: Wave your hands in the air and create music - using Deep Learning, PoseNet models, your webcam and the Web Audio API.
  • flarp/better-oscillator: The OscillatorNode in the Web Audio API is intended for musical applications so generates waveforms that are band-limited. Sometimes, however, it is useful to have the pure mathematical waveforms. This library generates those, with some additional handy features such as pulse-width modulation and syncing, using an AudioWorklet. I’m not sure it’s “better” as it solves a different problem - but handy nonetheless.