Decided to port the wave-gui tool in JS with Emscripten. The demo below uses GLFW3, SDL2 and pthreads and for now it should be possible to run it only in Chrome, because as far as I understand, other browsers have the pthread related stuff disabled due to security concerns (Spectre, etc.). Hopefully this gets fixed in the future.

The demo uses quite some CPU as it is not properly optimized. Still, it should run smoothly on a desktop machine. In case you cannot run it in your browser for whatever reason, you can see what to expect from the demo in this video.

I will probably also built this tool with the new experimental WebAssembly support for threading and will share the results in a follow-up post. Curious to see how it compares to the asm.js option here.


Press the Init button to start. Make sure to allow audio capture on this page.