Oct. 10th, Thursday - 13:30 - 14:00

Practical Rust for Web Audio

This talk will document the author’s journey utilizing Rust while developing a custom low-level audio processing engine for web targets.

Audio on the web has long been plagued by the lack of performance guarantees, with many applications and use cases held back due to insufficient API support by select browser engine implementations. The situations has, however, dramatically improved in the last two years, in no small part thanks to the rise of WebAssembly and developments in the ecosystem.

We will explore:

  • navigating web vs. systems programming
  • common audio engine internals
  • architectural decisions for the web platform
  • AudioWorkletProcessor code in Rust
  • compilation hacks for minimizing WebAssembly bundle sizes
  • using custom allocators, or none
  • hand-crafted bindings to JavaScript
  • “safe” unsafe code
  • practical real-world limitations
  • the current state of web audio
  • performance tradeoffs we need to deal with for the foreseeable future

The talk will wrap around technical parts with briefly addressing the important ”why”s: exploring philosophical drivers, implications and futures of interactive, interconnected musical works that could live on the web.

Speaker

Attila Haraszti

Attila Haraszti / h̷a̷y̷w̷i̷r̷e̷z̶ is a veteran dance music producer and independent software professional specializing in networked media applications. He is currently developing Songsling, a web-based creation and publishing suite for interactive music and audio.

Attila Haraszti