JUCE
JUCE copied to clipboard
The JUCE cross-platform C++ framework, WASM/AudioWorklet version
JUCE 5 (WebAssembly/AudioWorklet version)
This repo ports the DSP subsection of JUCE library to WebAssembly (WASM). The port enables JUCE plugins to run in web browsers as Web Audio API AudioWorklets. Precompiled static WASM bitcode library (juce-audioworklet.bc) and its build configuration (Makefile and juce_lib.cpp) are here
The port is bundled into two commits. The first one contains modifications to existing JUCE files (mostly just #ifdefs), while the second one contains build configuration, Web Audio Module (WAM) wrapper code and some dummy overrides for functionality that is unsupported in WASM and AudioWorklet environments (threads and high resolution timer). Porting was surprisingly straight forward.
usage
please see this example
license
This WASM version of JUCE uses juce_audio_basics, juce_core and juce_events modules, which are permissively licensed under ISC license. It also uses limited functionality from juce_audio_processors and juce_audio_plugin_client modules, which are under JUCE license. Please see the original JUCE [repo] (https://github.com/WeAreROLI/JUCE) for more licensing info.