Workshop Journal · Chapter 07
The third engine
A wavetable scanner, a song form, first sound on the Seed, lanes on the grid and off it
25–26 Jul
25 Jul 2026
We changed one part and got a new instrument
SYNTH has always morphed between four shapes — sine, triangle, saw, pulse — and TIMBRE decides how much of each. WAVE keeps the knob and changes what it means. Instead of blending four shapes it walks through a cabinet of sixteen waveforms, and TIMBRE is simply where you’re standing. That is the other half of the synth world: bells, vowels, hollow glassy spectra, the kind of digital grit no filter can fake. And the modulation lanes were always the right hand for it — this is music that wants something slowly moving the position while you play.
What made it cheap to build is that almost none of it is new. The voice allocation, the FLOW drones, the chord layer, CHOKE, the filter, the envelopes — WAVE inherited all of it instead of copying any of it. Exactly one part came out and a new one went in: the oscillator. Everything your hands do on the panel behaves the way it already did, because it is the same code doing it.
The test for whether we had really only changed one thing was blunt. The old SYNTH reference recordings had to come back out of the machine byte-identical afterwards — not close, not indistinguishable, identical. They did.
Below is the bank on its own: no effects, no reverb, nothing to hide behind, TIMBRE stepping to three places in the cabinet over twenty-four seconds.
25 Jul 2026
The bootloader said yes and meant no
Sixteen waveforms are too big for the chip’s fast memory, so the cabinet lives in the slow memory kept for storage. We uploaded it. The loader reported success. We read the address back and found something else there — stable, repeatable, not ours. It hadn’t lied, exactly: it accepts programs, and we had handed it data.
So we wrote the smallest program that could put the cabinet in place itself: write it, read it straight back, check every byte, sign the result with the chip’s own serial number. The proof belongs to one piece of silicon on one desk.
Then it ran. This is the other end of 160% of a chip that only has 100 from 19 July: WAVE costs 32% of one block of audio where the older SYNTH costs 35%, and the worst case that entry fought down to 98% stayed there with WAVE in the box.
It fits. So we put both decks on the new engine and spent four minutes walking the cabinet.
25 Jul 2026
The knob we forgot to build
Every instrument diary reaches the point where the answer to a problem is another knob. This is not that entry. The panel is finished and the hardware is real, so nothing gets added — something gets exchanged. Out comes DTUN, the detune knob nobody reached for twice. Into the same hole goes SOURCE, wearing whatever name the engine underneath it answers to.
Which is a little embarrassing, because SOURCE is the one parameter that decides what an engine actually sounds like: the oscillator shape on SYNTH, the position in the cabinet on WAVE, the read head on the SAMPLER. It was in there the whole time, nailed to dead centre, reachable only through a modulation lane. You could make it move. You could not say where it stood.
Detune isn’t gone, it moved into the right-click menu — zero to thirty-five cents, six by default. It also stopped hitching a ride. Detune used to scale with the timbre knob, so reaching for a brighter sound quietly widened the tuning at the same time. Two jobs, one control. Now it’s two controls.
While the panel was open: six scales became thirteen, in three blocks you can still count without looking — four modes, five pentatonics, four that came from asking handpan players what they actually call things. Hijaz. Pygmy. Kumoi. Equinox. And the tooltip finally says the name instead of a number.
One more, since it’s the first thing anyone meets: a fresh module used to open on two synths and silence. It now opens on a patch — deck B in sampler mode with a loop already in it, the room set, the grid swinging. Below, two minutes from this afternoon.
25 Jul 2026
Three the same, then a turnaround
A phrase used to be the whole story: sixteen steps, round and round, changing only when you asked. Each deck now keeps two — A, and a B it works out from A once. FORM still decides how a phrase is built; the new SONG knob decides which one you hear, and it opens on the oldest arrangement in popular music: A A A B. Three passes of the thing you know, then the one that goes somewhere else.
B isn’t a second roll of the dice. Its first half stays related to A, the third quarter drifts, the last quarter is new — and its final note is pulled halfway toward A’s opening, so the return sounds decided rather than looped. Six more arrangements sit beside AAAB, including one that never repeats itself. Nothing was added to the panel to fit the knob in: TRIG came off the faceplate, because the layout has to stay buildable in metal.
Below, two and a half minutes of it running — listen for the fourth phrase.
And it isn’t there yet. The form is audible — the fourth phrase arrives, the return lands — but it isn’t the thing I heard when I sketched it. This one will very likely come back for a correction.
25 Jul 2026
It runs on the Seed
Everything above this line was a laptop doing an impression of an instrument. Tonight the same engine ran on the chip it is actually for: a Daisy Seed on a breadboard, two small speakers, 48 kHz, ninety-six samples at a time. The init patch came over from VCV unchanged — part A on the synth engine, part B on the sampler — the factory sample went into SDRAM and came back out of a real codec. It survived a full power cycle, and it kept playing after the debugger walked away.
Now the reality check, because the video flatters it. That program lives in SRAM and nowhere else: nothing was written to flash, there is no bootloader, no firmware package, no boot flow. Pull the power and it is gone — the way back is a script and an ST-Link. There is not one knob on that breadboard either, so the patch is whatever the snapshot says it is, and it cannot be changed while it plays. All of that is M6, and M6 hasn’t started.
What today proves is narrower, and for once completely unambiguous: the engine, the patch, the bundled sample, the memory map and the audio path all fit on the real chip and all work at the same time. Three weeks of tests said they would. A table with two speakers on it says they do.
26 Jul 2026
The lanes stop freelancing
In STEP the deck marches: eight steps, a grid you can nod to. The four texture lanes were nodding to something else. At the sample-and-hold end of SHAPE nobody notices — a late random value is still a fine random value — but sweep SHAPE the other way and the lane becomes a contour that steps beside the beat. The word in the report was “mushy”. It looked like one bug; it was seven, four of which never heal.
The first fix was elegant: one rate for all five lanes, and the arithmetic says one shared grid. float32 disagreed — each lane rounds its own phasor, and the worst case was the default setting, SIZE slipping a whole step in about ninety seconds. A beautiful design whose one achievement was making the complaint take a minute and a half to arrive.
So the texture lanes don’t own a clock any more. One phasor runs — the melody’s — the deck counts its steps as integers, and each lane reads that count modulo its own cycle length: four, six, eight, twelve, sixteen steps, congruent again every 48. Nothing can round away from anything, because nothing is left to round. SPOT’s kick became an integer slot offset, so it still stumbles — on the grid. The bill: COUPLE has no job left in a synced STEP deck, and that’s written down rather than replaced.
The suite now runs ten minutes of audio and counts: not one step of slip, at any SHAPE setting. Shipped as v2.13.2 — the least dramatic patch in the changelog, and the one you hear on every beat. It’s in the current build.
26 Jul 2026
Now let them freelance
The entry above ends with COUPLE out of a job. This take switches STEP off on both decks and hands it everything back. No grid, no counter: ten phasors on their own continuous rates, and one knob deciding how much they care about each other. Below half the two decks just lean on one another and breathe; past it, grid gravity pulls the pair toward the nearest musical division — without anything ever counting a beat.
Nothing shipped for this one: no commit, no version. It is the other half of the same switch, and it settles yesterday’s loose end by ear rather than by argument. COUPLE isn’t missing from a stepped deck. It just doesn’t live there.