Playground
Welcome to the anupars interactive playground
The playground embeds the full anupars WASM application compiled from Rust with optional built-in audio synthesis via SuperSonic (WASM-based SuperCollider) and Web MIDI API support for external MIDI devices.
Click the “Synth” button at the top right to enable browser-based audio and start making music immediately, no MIDI setup required!

Try It Now
Open Playground
The playground opens in a dedicated full-screen view where you can interact with the complete anupars sequencer.
Available Synthesizers
Custom Synthdefs (bundled with the app):
solo- Custom solo instrument with gate-based envelope creditfmgong- FM synthesis gong with gate-based envelope creditdrm- Simple drum synth with noise and decay credit
Default Sonic Pi Synthdefs (supersonic-scsynth-synthdefs) (loaded from CDN):
sonic-pi-prophet- Classic synthesizer soundsonic-pi-piano- Piano-like timbresonic-pi-beep- Simple beep/tonesonic-pi-blade- Blade-style synthsonic-pi-saw- Sawtooth wave synthsonic-pi-pulse- Pulse wave synth
No External MIDI Required: With SuperSonic enabled, you can hear the sequencer output directly in your browser without connecting any external MIDI devices. The synth engine runs entirely in WebAssembly.
Synth Engine
The browser audio is powered by SuperSonic - a WebAssembly port of SuperCollider’s scsynth audio server. MIDI messages produced by the sequencer (note on / note off / Control Change) are translated to OSC and sent to scsynth running in an AudioWorklet, with no round-trip to any server.
Two synthdef sources are supported:
| Source | How it loads |
|---|---|
Bundled (/synthdefs/) | Shipped with the app, available offline |
CDN (supersonic-scsynth-synthdefs) | Fetched from unpkg.com on first use |
You can also load your own .scsyndef file from the dropdown, compile it in SuperCollider Desktop and drop it in.
Each synthdef uses one of two note-off strategies:
- Gate-based (
solo,fmgong): note-on sendsgate=1, note-off sendsgate=0. The synthdef releases itself viadoneAction: 2. - Release-based (
sonic-pi-*): the synth plays for a fixed duration. On note-off, a shortrelease=0.08s fade is applied before the node is freed.
MIDI & Audio Output
The playground supports two output modes:
- Built-in Synth (optional): Click the “Synth” button to enable browser-based audio via SuperSonic, no setup required
- MIDI Out: Send to external MIDI devices/DAWs via Web MIDI API (auto-detects first available output)
Currently supported:
- ✓ MIDI Out - Send notes and control changes to external devices
- ✓ Internal Audio - SuperSonic WebAssembly synth engine
Coming soon (roadmap):
- ⏳ MIDI In - Receive MIDI input from controllers
- ⏳ Clock Out - Send MIDI clock for external synchronization
Web MIDI API: External MIDI routing requires a Chromium-based browser (Chrome, Edge, Opera) or Safari. Firefox does not currently support Web MIDI API. However, the built-in SuperSonic synth works in all modern browsers.