AudioWorklet
Code examples and resources for AudioWorklet.
Basic Demo
Bypassing input to output
One-pole filter built with Audio Worklet
Noise generator with user-defined AudioParam
Declative AudioParam configuration and its automation
Messaging between an AudioWorkletNode and the associated AudioWorkletProcessor
Measures microphone volume with AudioWorkletProcessor
Passing AudioWorkletNodeOptions from the node to the associated AudioWorkletProcessor
How to handle errors from AudioWorkletProcessor
Advanced Design Pattern
A basic set up for AudioWorklet and WebAssembly
C++ Supersaw synth to WebAssembly (Google I/O 2019, Audio Developer Conference 2021)
Using Ring Buffer to work around buffer size mismatch
For high performance large-scale audio applications
FreeQueue
Basic example of FreeQueue and a worker thread. FreeQueue is a lock-free ring buffer library for high-performance audio processing designed to be used on top of the Web Audio API. This example demonstrates how this library can be used as a channel between a worker thread and AudioWorklet to send audio data.
Migration from ScriptProcessorNode
A simple audio recording app using ScriptProcessorNode
A simple audio recording app using AudioWorklet
Resources
An introductory article on Audio Worklet
Design with WebAssembly SharedArrayBuffer and more
The first conference paper about AudioWorklet (ICMC 2018)