Web Audio Modules 2.0 (WAM) is the latest version of an open source audio plugin standard for the web platform, developed since 2015 by a group of academic researchers and developers from the computer music industry. Version 2.0 enables the development of audio effects, instruments, and MIDI controllers as plugins and compatible hosts and takes into account recent evolution in the development of web technologies. Indeed, since 2018 W3C Web standards have matured: the appearance of WebAssembly, stabilization of WebComponents, support for AudioWorklets [1] in the Web Audio API, and continued evolution of JavaScript have all helped make professional-grade, Web-based audio production a reality. In addition, commercial companies now offer digital audio workstations (DAW) on the Web which act as host Web applications and support plugins [2] (including WAM ones). Taking into account these developments and the feedback received from developers over the past few years, we released “Web Audio Modules 2.0” (WAM2), an open source SDK and API distributed as four GitHub repositories (
https://github.com/webaudiomodules) and as npm modules (MIT License, see
https://www.npmjs.com/search?q=keywords:webaudiomodules). WAM2 now supports parameter automation, plugin groups, audio thread isolation, midi events, plugin/host extended communication. WAM2 is Web-aware: plugins can be loaded and instantiated by hosts using a simple URI using dynamic imports.
One of the repository, wam-examples, comes with more than 20 examples of plugins, written using different languages and building chain. It can be tried online here:
https://mainline.i3s.unice.fr/wam2/packages/_/WebAudio Modules 2.0 comes also with more extended examples such as a guitar effect pedalboard plugin (
https://wam-bank.herokuapp.com/), an open source DAW prototype (
https://wam-openstudio.vidalmazuy.fr/), a collaborative sequencer (sort of Ableton Live meets Google Docs) entirely developed with WAM2 (https://sequencer.party/), which comes with more than 20 open source WAM2 plugins.
Furthermore, the FAUST online IDE (
https://faustide.grame.fr/) can now compile FAUST code into a WAM2 plugin, including GUIs and online publication for reuse in any compatible host (tutorial here:
https://docs.google.com/document/d/1HDEm4m_cD47YBuDilzGYiANYQDktj56Njyv0umGYO6o/edit?usp=sharing-)
In this talk, we propose to present the WAM2 proposal, illustrated by many interactive demonstrations of plugins and host, including open source and commercial ones.
[1] H. Choi. Audioworklet: the Future of Web Audio. International Computer Music Conference ICMC 2018.
[2] M. Buffa, J. Lebrun, S. Ren, S. Letz, Y. Orlarey, and al.. Emerging W3C APIs opened up commercial opportunities for computer music applications. The Web Conference 2020 - DevTrack, Apr 2020, Taipei.
IF YOU ARE ATTENDING ONLINE, ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY:
https://conference.audio.dev