Checking...

AudioWorklet

AudioWorklet is available on Chrome 66 (or later) by default. If the status indicator on the top-right corner of this page is not green, it means either your browser does not support AudioWorklet. If you are using Chrome, please update to Chrome 66.

Basic Demos

Hello AudioWorklet!

A simple AudioWorkletNode that bypasses the incoming audio stream to its output.

Noise with AudioParam Modulation

A simple noise generator with user-defined 'gain' AudioParam modulated by an OscillatorNode.

BitCrusher with AudioParam Automation

A BitCrusher example from the specification, but modified to demonstrate AudioParam automations

One-Pole Filter

A one-pole filter implementation with AudioWorkletNode.

MessagePort with AudioWorklet

Demonstrates basic bi-directional communication between AudioWorkletNode and AudioWorkletProcessor.

Catching error from AudioWorkletProcessor

A simple demonstration on how to use AudioWorkletNode.onprocessorerror event handler.



Design Patterns

AudioWorklet with WebAssembly

A basic set up for AudioWorklet and WebAssembly.

AudioWorklet with Ring Buffer

Using Ring Buffer to work with buffer size difference.

AudioWorklet with SharedArrayBuffer and Worker

Suitable for large-scale audio application requires a seperate thread for intensive audio processing.



Resources

Talk: AudioWorklet - What, Why and How

An in-depth presentation about the new AudioWorklet.

Slides: AudioWorklet - What, Why and How

The slide deck for the presentation.

Google Developer Blog: Enter AudioWorklet

An introductory article on AudioWorklet.

Google Developer Blog: AudioWorklet Design Pattern

An in-depth article on various AudioWorklet design patterns.

Web Audio API: AudioWorklet

AudioWorklet section in Web Audio API specification.

Web Audio API discussions on AudioWorklet

A set of discussions on AudioWorklet API design.