Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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).

Letters only play when the interface does not want them

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
HOLDLatch: notes stay on until you play them again
Panic. Kills every voice immediately
⇕ tallGrow the dock; the rack re-zooms into what is left
keysKeybed width, 1–4 octaves
ARPThe arpeggiator, below
UNI ×4Unison — stack detuned copies per note, trading polyphony for width
gldGlide (portamento) between notes
● RECBounce your playing to a WAV
volOutput 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

PATTERNup / down / up-down / random / order played
RATEDivision: 1/4 through 1/32, straight or triplet
TEMPOBPM
RANGEHow many octaves it walks
GATENote length as a fraction of the division
SWINGShuffle

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:

  1. The pool is still warming up. The first duel is dealt at 8 patches.
  2. No patch is loaded. Click a row in the bank.
  3. The browser has not granted audio. Browsers require a gesture before starting an audio context. Click anywhere, or press a key.
  4. The patch is muted as unvetted. A pinned strip says so, and stays visible until it is resolved.
  5. Voices are stuck. Press .

More in Troubleshooting.