Some notes:
web assembly:
a cool technology allows you to compile c/c++/rust and other languages into wasm, expose API to javascript world.
Web audio worklet/worker:
allows developer to intercept audio stream/custom processing
A good introduction is at:
https://developers.google.com/web/updates/2017/12/audio-worklet
Advance pattern:
https://developers.google.com/web/updates/2018/06/audio-worklet-design-pattern
Combination of wasm and audio worklet
can do a fair amount of audio processing using the advanced shared buffer pattern, and load wasm in worker.
See the whole arch:
In the main scope , we can create a audio-worklet ( and worker processor), which will create audio worklet processor. ( confusing terms š ).
The worker processor can load wasm module ( wasm.js) to handle the audio processing.