Login / Register  0 items | $0.00 New#KVRDeals
  This is a Blog post published by Oli Larkin
Oli Larkin

Web Audio Modules (WAM) - a new audio "plug-in" format for the web browser

Web Audio Modules (WAM) is a new SDK/API that I started work on with Jari Kleimola over two years ago which aims to eventually be the equivalent of VST for the web. This is really primarily Jari's project - he is an amazing programmer and has done the vast majority of the work and I am very honoured to have been involved in what I think is a great initiative.

We use the term Web Audio Module because these are not like traditional browser plug-ins, which must be installed - they load with the rest of the web page like any other resource, and integrate into the Web Audio API via the "AudioWorkletProcessor". The DSP is in WebAssembly, which is a low-level assembly-like language already supported in most popular browsers. WAMs will most often be written firstly in C++ and cross-compiled to WebAssembly, but they can also be written in JavaScript.

It's important to us that this is a community driven API in the first instance, in order to address some of the frustrations that plug-in developers have experienced in the past due to the DAW vendors controlling the formats. We have created a community website, to document our work. There you will find some playable WAM synthesiser demos. We have preliminary API documentation and code on github. We would love to get feedback from variety of developers in order to make this suitable for everyone's needs.


Jari and I met at the first ever Web Audio Conference (WAC) at IRCAM in January 2015, where Jari presented some Web Audio ports of open source desktop plug-ins, originally written in C++. I was really impressed that this was possible, not knowing a great deal about the latest web technologies. We got on really well (thanks in part to a mutual love of 1980s synthesisers) and we decided to collaborate on formalising an API to make this approach easy for others to adopt in a standard way. We published a paper on this work at the sound and music computing conference (SMC) in July 2015. At this time, there were some major limitations with the technology that meant there was quite a lot of latency and potential for audio glitches. Over the last two years the W3C Web Audio working group has done some great work on addressing these limitations, and we have also seen the introduction of WebAssembly, a cross browser W3C format for executing bytecode in the browser. Recently we saw the first appearance of the "AudioWorklet" in Chrome Canary - the experimental version of Google Chrome. This is a game changer for web audio, because it enables custom cross compiled code to run with low latency in the audio thread = no glitches. Other browsers will follow soon.

The WAM API has been designed to be lightweight and simple and to work nicely with existing code bases, so that plug-ins written using popular cross platform frameworks such as JUCE and IPlug can also target the Web from the same code base. We tried to follow guidelines from the GMPI format discussions over 10 years ago.

There are many questions to be solved such as: how GUIs can be standardised, since there are so many options for implementing GUIs in the web browser (HTML elements, WebGL, SVG, Canvas).

I have ported my closed-source plug-in VirtualCZ to a WAM (webCZ101) with the same DSP but a more limited user interface. At this early stage of browser based music making it's not really an issue but eventually for developers to monetise their products, there probably needs to be some kind of way of restricting the use of the code. I feel that even before we see the widespread use of web-based DAWs, WAMs have a lot of potential for easily demonstrating software, and for educational interactive tutorials - a new form of online documentation for instruments.

We would like to invite everyone to help us work these issues out, and we are particularly interested in feedback from developers on our preliminary API work.

You can find demos and more information including our paper from the 2015 SMC conference at https://webaudiomodules.org, where you can also comment on everything.

We have a mailing list for updates, and you can follow us on twitter @webaudiomodules too.

We are looking forward to the next generation of software instruments and effects.

Oli Larkin & Jari Kleimola.

PS. we will soon be running a competition to design a nice logo for WAMs - stay tuned.

Products Related To This Item
Discussion: Active


Please log in to join the discussion

Related news...

Oli Larkin News
Other Related News
25 Sep 2014 Plugin Boutique release VirtualCZ Synth AU, AAX & VST Plugin for Mac & Win17 Sep 2014 Plugin Boutique announces VirtualCZ AU, AAX & VST Plugin for Mac & Win01 Aug 2017 JUCE 5.1 Now Available - New DSP Module26 Jun 2017 Wagsrfm releases sound library for Plugin Boutique's VirtualCZ24 Nov 2016 #KVRDeal Expired Way Out Ware Black Friday Offer: Save 70% on TimewARP 2600 at Plugin Boutique24 Nov 2016 #KVRDeal Expired Sonivox Black Friday Offer: Save up to 91% at Plugin Boutique22 Nov 2016 #KVRDeal Expired Krezie Sounds Black Friday Sale 2016 - 50% Off08 Nov 2016 ROLI releases BLOCKS Modular Music Platform and updates JUCE to v4.327 Sep 2016 JUCE 4.2.4 Now Available - incl. Projucer for Windows; +10 Google Scholarships for ADC09 May 2016 Krezie Sounds releases "Awakening" for VirtualCZ08 Apr 2016 JUCE 4.2 Now Available01 Apr 2016 KVR Audio Plugin Boutique Big Giveaway - Win up to $4000 in audio software prizes20 Jan 2016 #KVRDeal Expired VSTBuzz: 60% off “VirtualCZ” Synth Plugin by Plugin Boutique23 Dec 2015 #KVRDeal Expired Plugin Boutique 12 Days Of Christmas Sales26 Nov 2015 #KVRDeal Expired VIP Store Offer: Save 35% on Virtual CZ and $30 on Session Keys Grand S10 Nov 2015 JUCE launches "JUCE 4: Grapefruit JUCE" and introduces the ICE Engine, a real-time compilation environment for the audio industry and beyond08 Oct 2015 First JUCE Summit to be held in London in November01 May 2015 #KVRDeal Expired Plugin Boutique Friday Sale: 40% Off VirtualCZ Synth Plugin02 Apr 2015 #KVRDeal Expired Sugar Bytes Easter Sale: Up to 68% off01 Mar 2015 What Happened On KVR Last Week? (W/E Mar 1)23 Feb 2015 #KVRDeal Expired Save 40% on Plugin Boutique's VirtualCZ15 Jan 2015 Homegrown Sounds releases "Calculus" for Virtual CZ and Multiverse Calculus for Kontakt 5

Show more...

Dream into action: An interview with Ikutaro Kakehashi (Founder of Roland)