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.
We met at the first ever Web Audio Conference (WAC) at IRCAM in January 2015 and 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).
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 here, and you can also comment on everything.
We are looking forward to the next generation of software instruments and effects!
PS. we will soon be running a competition to design a nice logo for WAMs – stay tuned.