Workshop Journal · Chapter 16
Anything but the multiplexer
Two mux breakouts lie on the desk waiting for somebody to measure them. What gets built instead: a drone engine, deleted the same week — an FM engine, built at three percent motivation — a knob that lets the two decks hear each other, a button that turns every other knob into its own modulation depth, a knob that pulls one deck’s melody onto the other’s chord, and depth knobs that go bipolar — gliding right of noon, stepping left of it — a resonance leveller built twice and withdrawn the same day — a balance knob that places each deck across the stereo field while the reverb it feeds stays in the middle, and a plate that stops being a blueprint and becomes one dark surface — then, at the fab, the four-layer board that will measure the multiplexers, eight dollars for five, and finally that board on the desk with its printing unreadable, which is how it ends up needing a map drawn by hand — and, at last, a soldering iron, twenty-four legs at the first attempt and one joint that came out as a silver bead — and, at last, a finished board: the through-hole parts, a multimeter over every rail, ±12 V, and the Patch Submodule seated on top with one red LED lit while the measurements it exists for start running
18 Aug–17 Sep
18 Aug 2026
What I built instead of measuring a multiplexer
Two multiplexer breakouts have been lying on the desk for a week. The 60 HP panel has more knobs than the board has analog inputs, so they get read through chips like these, and before any of that can be trusted the pair has to go on a breadboard and somebody has to measure how long a channel takes to settle after the address lines change. It is an afternoon.

Here is what got built instead. SWARM: an additive drone engine, fourteen sine partials per deck, two rounds, four spectral characters, a modulation section rebuilt from the ground up. Eighty-three commits, about 14,200 lines. Then it was played, and it still was not an instrument anybody wanted to touch — so all of it went back out. A tag holds it, the specs sit in the attic, the removal was two commands.
Two findings outlive it. The slow breath at the bottom of the modulation lane was not slow but frozen: pitch unchanged bit for bit on 93.9 % of control ticks, and the test defending it passed with more margin once the drift was switched off. And HARM, the control that always sounded out of tune, was bending the second overtone by 420 cents where four and a half was the whole idea.
Plus one take, which is now the only evidence the engine was ever here.
The multiplexers are still on the desk.
21 Aug 2026
I opened Rack at three percent motivation, and it was already doing it
v2.21.6 · FEED, the first FM engine in here · and a new patch to boot into
Honest first: this week I ran out of steam.
The date this project is building toward is one I picked myself. It is not a real deadline. It is what was left over after the residency said no, back in chapter 10 — a stand-in. And nobody gets out of bed excited to finish the stand-in.
So the week went the way weeks go when the reason is thin. Build a whole new engine. Fit two new knobs to the panel. Delete one of them again the next morning, along with every piece of the instrument that had grown around it in a day. Have a long, serious argument with the AI about whether this should even be one box or three. Nothing in that list is wrong. It just never added up to a feeling.
The thing I built while not feeling it
It is called FEED, and it works like this. Two sine waves. One of them you hear. The other one you never hear — its only job is to shake the first one, and how hard it shakes decides whether the result sounds like a flute, a bell, or a bell somebody dropped.
One knob does the interesting part. Turn it down and each pair listens only to itself: steady, in tune, well behaved. Turn it up and it stops listening to itself and starts listening to its neighbour instead — which is running at a slightly different pitch, and now the two of them are arguing. Six pairs sit in a ring, and every one of them drives the next.
And that is the whole point of it: the movement is not added, it is a consequence. There is no slow wobbler in there, no random walk, nothing painted on afterwards. Six things pulling on each other never quite repeat and never quite settle. It moves because it cannot help it.
Good work. Still no feeling.
Friday morning, at maybe three percent
I opened Rack to see how bad it was. That is the honest reason — not to work on it, to assess the damage.
And it was doing it. The one thing this whole instrument was ever built for: set it going, take your hands off, and it keeps arriving somewhere. Not a loop. Not a recording playing back. It kept moving, and I kept listening, and at some point I stopped waiting for it to get boring.
So I did the only sensible thing. Hit record and touched nothing.
Nearly five minutes, unedited. What you hear at minute four is the same patch as minute one. It just went there on its own.
Then I made it the patch you open into
Every version of this instrument boots on a factory patch, and every one so far was designed — values picked, tested, argued about. This one was not designed. It was played, it was liked, and it was saved exactly as it stood. Forty-two of its seventy-one settings moved.
It also breaks a few of this project’s own habits, all of them by accident. It is the first factory patch whose tempo is off the floor. The first where one of the two decks starts in step time on purpose. And the slow weather-walk that has quietly drifted the modulation in every patch before it is parked at zero here. This one does not need it — the engine is already restless.
Download — v2.21.6 grab your platform’s .vcvplugin and drop it into Rack’s plugins-<os> folder · add a FireFlow and press play · all versions
The deadline is still a stand-in. A good morning did not fix that, and I am not going to pretend it did. But a date you set for yourself and a thing that actually works are two different objects, and this week the second one turned up without being asked.
The multiplexers are still on the desk.
22 Aug 2026
The two decks stop ignoring each other
Two decks, one output, and until this week nothing between them but a mute. That is CHOKE: while the deck you give priority to plays, the other one may not start a note. Five snapped positions — and a probe says they were really three. A knob that was a switch.
Now it is a knob. A hair off noon, a follower listens to the priority deck and leans on the other one while it sounds. Nothing muted, no note refused, just room. Keep turning and the old mute comes back on top.
Two things were wrong first. The duck’s floor was named −16.5 dB and delivered −1.6. And the detector read the priority deck raw — so a deck morphed all the way away, dead silent, still pushed the other one down. It reads what you hear now.
Noon is still exactly nothing: depth zero, gain exactly 1.0, every multiply the duck adds an identity. Both render gates still match their old hashes.
Not settled yet. What I am trying right now is the depth pushed past its own floor — somewhere between 100 and 120 % — with attack and release pulled down to almost nothing, so the duck snaps instead of breathes. That is a different effect, and I do not know yet whether it belongs on this knob.
The take below is a test drive, not music — the new duck against the new FM engine, hands on both knobs. It wanders.
22 Aug 2026
Hold MOD, and every ring becomes a depth
v2.21.7 · the MOD pad becomes a layer · experimental, hardware unproven
The MOD pad in the corner of the panel has been print only since the plate was drawn — nothing behind it, nothing to press. It latches now, lamp lit while it holds, and while it holds every knob whose ring is drawn in its deck’s colour shows its modulation depth instead of its sound value. Let go and the sound comes back. Both sets live in the patch.
A plain ring means the knob keeps its sound function even latched — the clock, ENG, CHOK, MOD itself. Rack drew a second, brighter ring on top of the printed one for about an hour; it went again, because hardware cannot draw one and the lamp already says whether the layer is up. Twenty-one depths per deck, six in the middle, every one of them zero at boot except the six the engine already owned. The init patch sounds exactly like it did yesterday.

Whether it survives hardware is the open question. In Rack a knob can be in two places at once. A pot cannot — let go of MOD and it sits where your hand left it while the value underneath is something else, so the next touch jumps. Nobody has solved that pickup yet. Experimental on purpose — and in the current build anyway.
Two minutes below of the layer being used and nothing else. Not music — depths pulled up and down under the latch to hear what the new ones actually do.
23 Aug 2026
PULL, and the bass takes the chords with it
v2.21.8 · chord gravity between the decks · first listen
PULL is a bipolar knob in the centre, directly right of CHOKE. Which way you turn it says which deck leads; how far you turn it says how often a note on the other deck lands on the leader’s chord instead of on its own scale. How often, not how hard — near the middle one note in a while gets caught, at full deflection every one does. Centred it does nothing, and the engine renders byte for byte what it did before the knob existed.
A caught note that is already sounding keeps listening. When the leader’s chord moves underneath it, it slides onto the new one over the same short glide a scale change has always used, rather than waiting for its next strike.
The take below runs it backwards from the way it was designed. The bass deck leads with its COLOR at zero, so its “chord” is a single pitch class — and the deck that actually plays the chords is the one being pulled, landing on whatever the bass just played and stacking its own chord on top of that. The bass line drags the harmony behind it. Nobody wrote that mode; it falls out of a chord being a set that is allowed to have one member.
Yesterday’s release notes said PULL had not been heard yet. It has now — but the dead zone at noon and the straight line from there to full are still first-try numbers, and the 60 HP plate had no free slot for the knob: the GLOBAL row re-pitched to four, the other three shifted 6.5 mm left to make room.
Download — v2.21.8 grab your platform’s .vcvplugin and drop it into Rack’s plugins-<os> folder · put one deck in a chord and turn PULL off centre · all versions
23 Aug 2026
The plate stops fidgeting
VOICE was the only two-row group on the plate running on three heights: two small knobs crowded to the left, a hole in the middle, and the filter alone on a line of its own, because a large cap does not fit the 13 mm pitch it shared with its neighbours. The row changed instead of the knob. FILT is a large cap again, centred, small–LARGE–small — the same figure TIMING has had since the graphics round. Both rows are written from one pitch and one centre line now, so they cannot drift apart again.

Download — v2.21.9 grab your platform’s .vcvplugin and drop it into Rack’s plugins-<os> folder · add the hardware panel and look at VOICE · all versions
Then I stopped drawing and made something. The take is a patch nobody touches: started and left alone, every move in it the instrument modulating itself.
29 Aug 2026
Left of noon, and every depth knob grows a second half
v2.21.10 · the MOD depths go bipolar · a new patch to boot into
Hold MOD and turn a wreathed knob. Right of noon it does what it always did: that lane's modulation, gliding.
Left of noon is the same lane, read differently. It is sampled at the lane's own slot boundaries and held, so the target steps between values instead of sliding between them.
Noon is off. A small dead zone sits around it, so off stays reachable on a real pot the way it already is on GRIT and PULL.
Left is not an inverted right. The sign says which reading the target follows; the distance from noon says how much. At the same distance either way you get the same amount of modulation — one gliding, one stepping.
Where to hear it: FLOW with SMOOTH up. In STEP at SMOOTH 0 the two halves are the same signal, exactly, because the lane is already a staircase and sampling a staircase changes nothing. Go looking there and you will decide the knob is broken.
One caveat, honestly. The grid rarely catches a lane's extremes, so the held reading swings a little less than its gliding twin — 0.905 against 0.941 peak to peak at SMOOTH 0.7. That is what sample-and-hold does, but it means the left half is a touch gentler at the same distance from noon.
I turned it by hand this morning and kept all three positions as they stand. The width of the dead zone is still a guess. A mouse lands on an exact noon, so Rack cannot answer that one — it is a question for a 9 mm pot, and the pot does not exist yet.
The lamp double-pulses now
The latch re-points every wreathed knob on the plate at once, so forgetting it is engaged is the expensive mistake. A steady lamp just becomes furniture.
Two short flashes, a gap, then a longer dark tail, twice a second. An even blink was tried next to it and rejected: at this rate it reads as a loose contact, not as a signal.
The patch you now open into
A fresh module no longer boots the 2.21.6 sound. This one revises its predecessor rather than replacing it — twelve of seventy-two panel values moved, and every structural decision stayed: FEED against WAVE, deck B stepped, the same tempo and scale.
What is new in kind: the MOD layer boots with something dialled. Five depths sit off noon out of the box — SUB on deck B, DETUNE on both, MORPH and REV_DIFF in the centre column. Latch MOD on a fresh patch and you will see them away from centre. That is the patch, not a fault.
Here it is as it boots. Record on, hands off.
Six and a half minutes, unedited.
The depth knobs now run −1..+1 instead of 0..1. Patches from earlier versions are not converted — this is a development alpha and saved patches may break between releases.
Download — v2.21.10 grab your platform’s .vcvplugin and drop it into Rack’s plugins-<os> folder · hold MOD and turn a knob left · all versions
29 Aug 2026
TAME, built twice and kept neither
A leveller on the master bus that hunts down the resonances that stick out and pulls them down — soothe, roughly. I built one. Then, when the first turned out to be answering a question nobody had asked, I built a completely different second one.
The first waited for a resonance to stand still before touching it, on the theory that a tone which holds its pitch is the one that tires the ear. On a real take the loudest peak drifts about two octaves a minute, and the longest it ever holds still is a quarter of a second — against the three seconds that version needed before it would open. It never engaged once. Not tuned wrong: the premise was false for this instrument.
The second one works, and that is what killed it. Nineteen bands, the three worst offenders cut, the level handed straight back so the block cannot quietly become a volume knob — so single bands move about a decibel and a half and the loudness does not move at all. I listened to it at every setting it can reach and could barely hear it. Push it far enough that you can, and what you hear is damage. So main went back to the commit before the first spec: a tag holds both attempts, and the repo carries no trace of either.
The multiplexers are still on the desk.
30 Aug 2026
PAN, and the room stays where it is
v2.22.0 · a bipolar balance knob per deck · the reverb send stays centred
One knob per deck, placing that deck across the stereo field. Noon is exactly unity — both channels at gain 1.0, every multiply an identity, every render hash unchanged.
Only the side you turn away from moves; the other stands at 1. What that costs is stated: at a hard stop the far channel's content is gone.
The send is not panned. The dry deck walks off to one side and the tail it feeds stays in the middle — and the gate defending that exists because folding PAN into the deck gain would have looked like a tidy-up.
Two slots were already being held empty for it, one on each panel. No control moved and no row was re-pitched.
Then the mod ring turned out to be moving the whole mix
Both decks read their own drift lane, on the assumption that two decks meant two drifts. They do not: at equal rate the two lanes correlate at r = 1.0000. Same signal, so the ring swung the entire mix to one side instead of opening a stereo image.
Deck B's pan now reads deck A's lane, negated. The cost, taken deliberately: deck B's own depth ring no longer reaches it.
The take below is from before that fix — six minutes, unedited, 50 dB of travel between its extremes. It is the recording that made the problem audible.
Nothing here has been heard against an alternative: the balance law, the 30 ms smoothing copied from LVL, the lane the ring rides. All first-try.
30 Aug 2026
The plate stops being a blueprint
Three tinted zones, a printed ember silhouette, baked fades, seam gradients, a raster of dashed drawing frames. All struck. One continuous dark surface now, in a single rect.
Zone identity moved into the groups — a white wash that lifts the field, an accent wash that says whose it is. DECK A and DECK B went with it, because the tint says that now.

The parts stopped being Rack's, too. Dark cap with an accent collar and pointer, dark barrel with a pewter ring, a square keycap that fills a third of the way when engaged. A black cap said nothing about which deck the hand was on.
SEND moved into LEVEL where it belongs; LEVEL's frame grew a foot past the deck edge to hold it. The jack row lost its group legends — a caption under each socket already named it.
And the mod rings left the print. Silkscreen cannot switch, so drawing them only under the latch was a plate decision, not a cosmetic one. The cost, plainly: the aluminium panel marks its modulatable knobs nowhere at all.
Download — v2.22.0 grab your platform's .vcvplugin and drop it into Rack's plugins-<os> folder · add the hardware panel and turn PAN off centre · all versions
The multiplexers are still on the desk.
3 Sep 2026
Eight dollars of real hardware, and an argument about SMD
The test coupon has gone to the fab. In a few days there will be a board on this desk that nobody rendered — the first piece of this project you could drop on the floor.


It is 100 × 80 mm, four layers, and it is not a prototype of the instrument. One Daisy Patch Submodule, both mux footprints next to each other, seven pots, a probe point on each COM node, and eight questions it exists to answer — the first of them being how long a multiplexer channel takes to settle.
Which means the two breakouts that have been lying here since 18 August are not going on a breadboard after all. They are being outvoted by a circuit board.
Then the argument. The whole thing is SMD — 0805 parts and SOIC chips, the largest of which has twenty-four legs at 1.27 mm pitch. I have never soldered any of that and said so, at some length. HAL was not impressed: the only difference is that you need a magnifier and flux, you tack down one leg, and the rest goes almost by itself. I remain sceptical. I am doing it anyway, because five boards cost eight dollars, and as money-destruction machines go this one is underpowered.
The multiplexers are still on the desk. About a week longer.
15 Sep 2026
The boards are here, and I cannot read them
Five green rectangles in an envelope. Every part has its name printed beside it, which sounds helpful right up until you look.
The parts sit two millimetres apart. The names need five. So they overlap, and in the busy corner they are one grey smudge.
Which leaves me holding a board I cannot read. I cannot tell which pad wants the 10 k and which wants the 0 R — and that is the whole job.
So I drew the map the board should have come with
Colour is the value. Grey is 0 R, copper is 1 k, mint is 10 k, blue is a capacitor. Open one reel, fit every rectangle of that colour, close it again.
The full plan goes further: it names all seventy-eight parts, one at a time, and puts a dot on pad 1 of each — read out of the board file rather than guessed. On the chips that dot is the notched end. The LEDs get a bar on the cathode as well, because an LED fitted backwards is a very quiet LED.
Two footprints stay empty on purpose — C_COM16 and C_COM8, outlined in dashed red. They are there in case the measurement asks for a capacitor on COM. It has not asked yet.
The full plan, every part named · it is too wide to print here, and it is the sheet I will actually be squinting at.
Five goes at it
I still have not soldered a twenty-four-leg chip at 1.27 mm pitch. HAL's advice has not changed: magnifier, flux, tack one corner leg, the rest follows.
The comfort here is arithmetic. Eight dollars bought five boards. Board one is allowed to be a disaster. Board two a smaller one. By board five I am supposed to be a person who solders.
The multiplexers are still on the desk. They have company now.
16 Sep 2026
Board one, and nothing caught fire
Four SMD soldering videos, which is three more than were needed, and then I did it. HAL was right: magnifier, flux, tack one leg, the rest almost places itself. Recorded here once, and not mentioned again.

The twenty-four-leg mux went first, which is roughly learning to drive on the motorway. It is not pretty. Every leg sits on its own pad and nothing bridges, but one trace beside it has lost its mask — bared, not cut, as far as ten times magnification can tell me. I am choosing to believe the loupe.


After the chip the resistors feel like sticking stamps on envelopes. 1002 is a 10 k, 1001 is a 1 k, the map says which colour goes where, and each reel gets opened once. R_REFB2 got the better of me and now wears a silver bead about the size of the part it holds down. It measures 10 k anyway.
Tomorrow the through-hole parts, then ±12 V on the header and a probe on the points this board exists for. If nothing gets hot, the Patch Submodule goes on top and the settling test finally runs — the afternoon of 18 August, twenty-nine days later.
The multiplexers are off the desk. The sixteen-channel one is soldered down, badly, by me.
17 Sep 2026
The SMD boss, first try
Through-hole day: seven pots, the jack, the button, the power header. After yesterday's twenty-four legs, none of it was frightening.
And the part I had been dreading for a month was already behind me. The sixteen-channel mux went down at the first attempt and stayed down — every leg on its own pad, continuity where it belongs and nowhere else.
Then, in order, because there are only five boards: multimeter over every rail and every neighbouring pad, ±12 V on the header with nothing on top, and only after nothing got warm, the Patch Submodule into its sockets.

One red LED. That is the entire light show, and it is the best thing this project has produced since the first note.
The measurements are running as I write this — settling time first, then the rest of the eight questions. Results when they are in.
Both multiplexers are on the board now: soldered, powered, and being measured. The desk is clear.