AudioWorklet
La parte della Web Audio API in cui si scrive elaborazione audio personalizzata in JavaScript o WebAssembly, eseguita nel thread audio del browser invece che nel thread principale.
Il suo predecessore, ScriptProcessorNode, eseguiva il DSP personalizzato nel thread principale, per cui ogni calcolo pesante del layout o ogni garbage collection si traduceva in scricchiolii. AudioWorklet sposta il codice in uno scope globale separato nel thread audio: si estende AudioWorkletProcessor e si implementa process(), che viene chiamato con blocchi di 128 campioni. La comunicazione con la pagina avviene tramite una MessagePort.
Chrome lo introdusse nel 2018, seguito da Firefox e Safari tra il 2020 e il 2021. In pratica nessuno scrive DSP pesante in JavaScript: si compila C++ o Rust in WebAssembly e lo si richiama dal processore. A 48 kHz, 128 campioni lasciano circa 2,7 millisecondi per blocco — se la scadenza salta, si sente.