Wednesday, 22 November 2017

Web Audio Modules v-0-2 WASM & AudioWorklet

TL;DR check out WAMs ->> VST for the web! ➡️

I had a great time at JUCE ADC2017 in London. Rather unexpectedly I ended up introducing WAMs (Web Audio Modules) in the conference finale "open mic night" to an audience of industry people who were all probably a bit more interested in having a beer.

WAMs is an SDK/API that I worked on with Jari Kleimola over two years ago which is the equivalent of VST for the web. We published a paper on this work at the SMC conference in Maynooth in 2015. The week before the ADC2017 in London Google released the first incarnation of the "audio worklet", which is a much anticipated technology that is a game changer for web audio - allowing custom DSP code to run smoothly on a webpage. Jari got WAMs working in Chrome Canary (the experimental version of Chrome), and the performance is vastly better than previous versions, meaning we can continue this work. Although it's early days, this is clearly the way things are going and in 5 or 10 years time I expect many of us will be making music in the browser with chrome books (or something similar) rather than MacBooks.

As people who care about plug-ins (perhaps a little too much) we would like to make a community controlled open API that is sensible and flexible enough for a variety of use cases. Historically audio plug-in formats have been controlled by the DAW vendors, and this shift in technology provides an opportunity to change that. In that regard we are hoping to get lots of feedback from various parties so that we can make WAMs amazing before everyone gets stuck with something that's not quite right.
More info including API documentation is available here:


Original 2015 SMC paper here:


You can try a version of VirtualCZ in the browser here:

And (for the brave) you can try a JUCE plug-in ported to WAM (using v-0-2 in Chrome Canary) here:

If you're interested in this stuff, please get in touch!

Thanks for reading!