Some checks failed
check / check (push) Has been cancelled
- genome(seed, salts) now has three parts with their own RNG streams: shared (steps, form, swing, arc, layback, fill odds, phase offset), kit (density, frame, accent cycle, free snare) and keys (scale/root, progression, motif, hocket, bass tone, note lengths, range). ROLL KEYS now renews the harmony too; ROLL KIT leaves the keys alone. - Keys generators share one signature and can fix note lengths: MOTIF (the old line), 303 (acid bass, answers in the rests, drone or silent pad), TURING (8/16-bit shift register, DRIFT flips bits, 16-bar window), ARP (triad/7th arpeggio, roots on kicks). - Pages: KIT GEN, KEYS GEN; ROLL shows KIT / KEYS; slots keep both gens. - Flash record v3 (old settings ignored). Bring-up golden checksums updated. - C port matches; host test and ASan/UBSan pass. Intended music change: every seed sounds different (genome split, new generators). Vectors regenerated with npm run vectors; the case grid now crosses all kit and keys generators, with TURING runs past its window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
65 lines
3.0 KiB
Markdown
65 lines
3.0 KiB
Markdown
# Controls
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────┐
|
||
│ [ 5110 screen ] (ENERGY) [KICK][KICK2][SNR] RUN/STOP
|
||
│ (DRIFT) [HAT ][HAT16][PRC][GHST]
|
||
│ (ENC) [ SEED ] [BASS][MEL A][MLB][PAD ]
|
||
└──────────────────────────────────────────────────────────────┘
|
||
back wall: USB · MIDI IN · OUT KIT · OUT SYNTH
|
||
```
|
||
|
||
To-scale layout and drill list: [hardware/panel.md](hardware/panel.md).
|
||
|
||
## Buttons and knobs
|
||
|
||
| Control | Does |
|
||
|---|---|
|
||
| **SEED** | A new random seed. The old one goes into the history (last 16). |
|
||
| **RUN** toggle | Start / stop. Stop sends note-offs, All Sound Off (CC 120) on the learned kit channels, and CC 120 and 123 on the synth channel. |
|
||
| **ENERGY** | Density. See [concept](concept.md#energy). |
|
||
| **DRIFT** | How loose and changeable. See [concept](concept.md#drift). |
|
||
| **Track button**, tap | Track on / off. |
|
||
| **Track button**, hold (> 250 ms) | Flips the track only while held: a quick drop-out or punch-in. |
|
||
| **Encoder**, turn | Choose the page. |
|
||
| **Encoder**, push | Edit the page (the value line inverts). Turn to change, push again to leave. |
|
||
|
||
Option (bench setting in the simulator): track changes wait for the next bar line.
|
||
|
||
## Screen
|
||
|
||
The Nokia 5110 has 84 × 48 pixels:
|
||
|
||
- **Top line**: the page name.
|
||
- **Second line**: its value, inverted while you edit it.
|
||
- **Below**: a 4 × 3 map that mirrors the buttons. The top-right cell is RUN: filled while playing.
|
||
- filled = on
|
||
- outline = off
|
||
- flash = hit
|
||
- dot = a kit track not learned yet
|
||
- blinking = a change waiting for the bar line
|
||
|
||
## Pages
|
||
|
||
| Page | Edit with the encoder | Push |
|
||
|---|---|---|
|
||
| **SEED** | scroll back through the last 16 seeds (`-1`, `-2` …; `*` = re-rolled) | load the shown seed |
|
||
| **KIT GEN** | EUCLID, SKELETON, SUBDIV, AUTOMATA, AMENIZER | done |
|
||
| **KEYS GEN** | MOTIF, 303, TURING, ARP (see [Concept](concept.md#keys-generators)) | done |
|
||
| **ROOT** | AUTO, C … B. AUTO shows the seed's pick | done |
|
||
| **SCALE** | AUTO, then the 21 scales (see [Concept](concept.md#scales)). AUTO shows the seed's pick | done |
|
||
| **BPM** | tempo | done |
|
||
| **SLOT** | 8 slots for seed + salts + kit and keys generators (not root or scale) | push = load, long push = save |
|
||
| **ROLL** | KIT or KEYS | push re-rolls just that half, then goes back to page select. KIT: a new drum part over the same keys. KEYS: new chords, scale (on AUTO), motif and patterns over the same drums |
|
||
| **LEARN** | — | push, press a kit track button, hit the pad on the sampler or drum machine. Push again to cancel. |
|
||
|
||
## Simulator keys
|
||
|
||
| Key | Does |
|
||
|---|---|
|
||
| 1 … 0, - | track buttons KICK … PAD |
|
||
| Space | SEED |
|
||
| ← → | encoder turn |
|
||
| Enter / Shift+Enter | encoder push / long push |
|
||
| R | run / stop |
|