20 HP · clock
A motion tracker for a patch. A sweep goes out from the fan and pings, and the ping is a clock. Anything that moves in the four signals it watches closes in, and the closer it gets, the faster it pings.
Turn a knob: drag it, roll the wheel over it or use the arrow keys; a double click puts it back.
example patches
The fan, the readout and the ping here are CONTACT's firmware, running in your browser: what counts as motion, where each contact is, when it pings, how each window is lit. Everything it watches and clocks is a stand-in for the rest of a rack.
Each input takes CV, gates or audio, and CONTACT measures how fast it's changing, in volts a second. A held voltage is still, however high. An LFO moves, a sequencer moves each time it steps, a gate moves on every edge, and audio moves most of all. Anything changing faster than SENSE is moving, and gets a contact on the fan.
The fan is bare circuit board lit from behind: six range bands from the point, where you stand, out to the edge, and a lane for each input, 1, 3, 4 and 2 from the left. A new contact starts at the edge, and the more its input moves the faster it closes: a metre a second just past SENSE, thirty at a hundred times it. An input that goes still leaves its contact where it is, fading, and after six seconds it's lost.
The sweep shows each contact as it passes, white hot, its last place dimmer behind it. The two digits under the point read the nearest out in metres, once a sweep.
Each ping sends a wavefront out from the point, across the bands to the edge. With nothing near, it pings at RATE. Each ping sets the time to the next from what the readout says: halfway in it's 1.6 times as fast, at the point four times. A contact closing steadily makes the pings come faster and faster. A busy patch makes it frantic; a still one lets it go slow.
The wavefront reaches a contact as far through the sweep as the contact is through the range, so a near one blips soon after the ping and a far one late. Four contacts make four triggers after every ping, in order of distance, and as they close they all tighten up toward it.
A contact that reaches 0 m is inside the room. It drops off the fan, the point and the outline go red, CEILING's label glows, and at the next ping the readout says 00. If its input is still moving, a new contact starts at the edge, and the sweep falls back to RATE to close in again. Clock a sequencer from SWEEP and watch its CV, and it builds and lets go on its own.
Twenty HP, every part on the line's staggered grid and mirrored about the middle. The fan sits under the name with the readout below its point. The art is the fan's bands carried on across the panel as rings of gold dots, thick where they pass through rolling steam.
One four-layer board sits 10 mm behind the panel, with the jacks, the knobs and 79 RGB LEDs on its front and everything else on its back. A printed black block between them gives every window a chamber of its own. The outline is a line of bare board with its own channel and its own row of 27 lights under it, deep enough that they run together into one even stroke. An RP2350 runs the tracker 46,875 times a second, in step with the converter that makes PING, so every trigger leaves with its own sample. NEAREST comes from a 16-bit DAC, and each unit can be calibrated over USB with a meter.
Drag to look around. Lift the panel to see the baffle's chambers, lit from the LEDs on the board.