I ported a subset of the JUCE library to WebAssembly, and bridged WAM::Processor directly to juce::PluginProcessor. The bridge is a generic wrapper for JUCE plugins. It looks like JUCE C++ code requires only minor changes, if any at all to be used as a WAM.

As a proof of concept, I wrapped the OBXD JUCE plugin as a WAM, compiled it in WebAssembly, linked it to the WASM JUCE library, and finally encapsulated the result as an AudioWorklet. A demo is available here. Like webDX7, the demo requires Chrome Canary 64 and enabling experimental-web-platform-features in chrome://flags. It works with MIDI and existing OBXD patch banks in the fxb format. The webOBXD GUI was re-implemented in HTML and looks like this:


OBXD is an Oberheim OB-X inspired virtual analog synth plugin, originally created by Datsounds (github). Demo patches were collected from the internet, and to my knowledge are all in the public domain. Please report below if that is not the case, and I will remove the offending ones.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">