Playing it
Four voices, three ways in, and an arpeggiator.
The current patch is always live: four-voice polyphony, with oldest-note stealing and silent-tail voice parking. Every edit you make on the rack re-patches the running instrument, so held chords survive a patch change without a click.
Three ways in
The on-screen keys
Mouse or touch, with glissando — press and slide. The keybed shows the computer keymap on the keys it covers.
The computer keyboard
An Ableton-style layout:
white: a s d f g h j k l ; '
black: w e t y u o p
z / x shift octave. The left of the dock always shows the
current anchor (a = C4).
Note letters reach the synth only when focus is not in a control, and they get through even when it is. That is why m saves a patch in the bank instead of the obvious s: s is a note, so binding save to it would have played a D every time.
MIDI
Plug in a keyboard and it works: velocity, pitch bend and sustain pedal. The dock's right side shows the MIDI state.
Web MIDI is Chromium-only today. In Firefox and Safari the other two paths are unaffected.
The dock
| Control | |
|---|---|
| HOLD | Latch: notes stay on until you play them again |
| ◼ | Panic. Kills every voice immediately |
| ⇕ tall | Grow the dock; the rack re-zooms into what is left |
| keys | Keybed width, 1–4 octaves |
| ARP | The arpeggiator, below |
| UNI ×4 | Unison — stack detuned copies per note, trading polyphony for width |
| gld | Glide (portamento) between notes |
| ● REC | Bounce your playing to a WAV |
| vol | Output level |
The keybed width defaults by input device: three octaves for a mouse, two for a finger. The narrow sizes anchor on the computer keymap's octave, so what you see matches what your keyboard plays. Both height and width persist.
The arpeggiator
| PATTERN | up / down / up-down / random / order played |
| RATE | Division: 1/4 through 1/32, straight or triplet |
| TEMPO | BPM |
| RANGE | How many octaves it walks |
| GATE | Note length as a fraction of the division |
| SWING | Shuffle |
It is sample-accurate: it runs inside the audio engine rather than on a page timer, so it does not drift and it does not stutter when the interface is busy.
Recording
● REC captures your playing to a WAV: the real output, post-limiter, at the session sample rate. Press it again to stop; the file downloads.
This records performance, not the standard sample, and it is the right way to capture a patch you like. The five-second audition phrase exists to make patches comparable to each other.
Per-patch loudness
Every patch is loudness-normalized (to −18 LUFS) before you hear it, in audition and in feature extraction.
Louder reliably wins A/B tests, so without normalization the taste model would learn "I like loud" and dress it up as a preference about timbre. If a patch seems quieter than you expect, that is the normalization working.
If it does not make sound
In order of likelihood:
- The pool is still warming up. The first duel is dealt at 8 patches.
- No patch is loaded. Click a row in the bank.
- The browser has not granted audio. Browsers require a gesture before starting an audio context. Click anywhere, or press a key.
- The patch is muted as unvetted. A pinned strip says so, and stays visible until it is resolved.
- Voices are stuck. Press ◼.
More in Troubleshooting.