| Field | Adoption |
| Calls, conferencing | Quasi-ubiquitous |
| Broadcast & podcast | Real, professional, daily |
| Research | Popular but far from the norm, should
increase 👀 |
| Education | Quite popular |
| Art | Somewhat popular, not the norm |
| Music production | Lots of users. How many records released? |
| Film, post-production | A few professionals we know of |
---
class: prose, big
## The biggest pro audio deployment nobody calls pro audio
- Hundreds of millions of people, daily, in a browser tab
- Echo cancellation, noise suppression, automatic gain control, any DSP via Web Audio
- Peer-to-peer (or relayed), multichannel, adaptive codecs
- sub-10ms audio roundtrip (depending on the hardware)
- And now neural denoisers, voice isolation, running in the page
.footnote[Jitsi Meet: RNNoise in Wasm, in an AudioWorklet (2022). Krisp JS SDK: Wasm in a worker + AudioWorklet. Zoom's Web client: its native media stack compiled to Wasm.]
--
and that's not even talking about the video part!
.footnote[Jitsi Meet: RNNoise in Wasm, in an AudioWorklet (2022). Krisp JS SDK: Wasm in a worker + AudioWorklet. Zoom's Web client: its native media stack compiled to Wasm.]
---
class: prose
## This week, in this building
At least eleven contributions to IS2 2026 run in a browser:
.chips[
- Anira in WebAssembly (MT 60)
- Strummin' Gym (MT 75)
- Third-order Ambisonics streaming (IWNIA 6)
- Server-side binaural on the Web (IWNIA 82)
- openDAW (D7)
- WAM guitar platform (D57)
- WAM Jam Party, WebXR (D138)
- WAM Academy (D140)
- Cascade Delay (D153)
- Sonification webapps, Chafe (D166)
- Agentic composition in a browser (PSI 173)
]
--
and we should celebrate this: accessible, reproducible, runnable research is cool.
---
class: quote
## but something is missing...
---
class: quote
## Can I combine two systems presented today to make something novel?
---
class: section-slide
1996: Steinberg VST
Success story: the audio plugin
Then AU, AAX, LV2, CLAP. A flywheel that has been spinning for 30 years.
Developersship plugins
Hostsload any plugin
Userslearn, use, depend on, combine
Moneyfunds more plugins
---
class: quote
## Inertia. INERTIA!
A professional setup is years of presets, sessions, licences and muscle memory
---
class: prose
## Platform vs. ecosystem
.two-col[
.col[
### Platform: people working on the web
- Web Audio, AudioWorklet
- WebAssembly, SIMD, threads
- WebRTC, WebCodecs
- WebGPU, WebNN
- Web MIDI
]
.col[
### Ecosystem: too few people
- A plugin format
- Parameters, automation, presets, state
- Host ⇄ plugin negotiation
- Session interchange
- Discovery, licensing, a market
]
]
---
class: statement
## The `AudioNode` is not a format.
We standardized low level blocks, not interchangeable units for an ecosystem
---
class: quote
## People need to agree on standards
It's standards all the way up
---
class: prose
## Another success story closer to "sounds" than "internet"
[Eurorack](https://doepfer.de/a100_man/a100m_e.htm): 1995, Germany, Dieter
Doepfer decides to specify a format (based on the
[Eurocard](https://en.wikipedia.org/wiki/Eurocard_(printed_circuit_board)
format):
- **a height**: DIN 41494 / IEC 297-3 / IEEE 1001.1 (19" rack, 6u)
- **a width**: the horizontal pitch, HP, 1/5"
- **a power supply specification**: +12V and -12V rail, and also +5V
- **ribbon cables** for power and some CV
- a spaghetti dish worth of **3.5mm jacks** (and jack sockets)
- unipolar or bipolar **CV**
- **1V / octave**
---
class: quote
## Back to computers
Let's not pretend nothing has been started
---
class: prose
.eyebrow[Buffa, Kleimola, Ren, Lebrun, Yi, Campbell, et al.]
## Web Audio Modules: the Web-native answer
- A plugin is a JSON descriptor and an ES module, loaded from a URL
- `WamNode` is an `AudioNode`, `WamProcessor` is an `AudioWorkletProcessor`
- Parameters, state save/restore, MIDI, automation, transport, OSC events between plugins
- The GUI is a DOM element, usually a Web Component (accessible!)
- Groups sandbox plugins from each other, hosts can nest
- A community index, Faust and others exports WAM directly
--