flag INFO Here we provide a simplistic (incomplete) matrix comparing various programmable audio systems.
| System | Platform | Focus | Notes @, # | Synths/FX | Plugin Format |
|---|---|---|---|---|---|
HzWeb |
Browser | General | js, hz |
js, wasm, genish |
WebAudioModules |
Hz |
Native | General | js, lua, hz |
c++ |
CLAP |
| Tone.js | Browser | Notes/Sounds | js |
* | * |
| Supercollider | Native, Browser + | General | sclang |
c++, sclang |
Vst3, CLAP, * |
| ChucK | Native, Browser + | General | ck |
c++ chugin |
chugin |
| Sonic Pi | Native | General | py |
sclang |
|
| Gibber | Browser | Live Coding | js |
genish, * |
* |
| Strudel | Browser | Live Coding | js |
* | * |
+: engine cross-compiled to web assembly (wasm).
*: any webaudio app can theoretically be extended with .wasm or js Audio Worklets.
The discriminating factor is how or whether extensiblity is formalized via
a system-agnostic plugin mechanism.
@: MIDI: beyond programmable notes, most systems support MIDI
performance and .mid files.
#: Open Sound Control:
in general can't be supported on Browser without app-specific native messaging
infrastructure. Conversely, most or all Native systems support it.