Articles · August 2026

How to program a tape stop instead of drawing one

Every glitch fill you have printed was drawn by hand, once, for one drop, at one tempo. The alternative is to write time as a pattern and let the fill happen on the bar, every bar, without you being there.

Laura's Timefold effect card: a Step and a Slice menu above a sixteen cell grid with stutter, reverse, half speed and tape stop steps programmed, and Fill, Decay and Mix knobs below.
Timefold. Sixteen cells, each one a decision about where the playhead reads from, and an outline running across them in time with the host.

The fill you redraw every time

A tape stop is twenty minutes of work and it is never reusable. You find the last beat of the bar, draw a rate curve down to nothing, listen back, move the start a sixteenth earlier, listen again, nudge the curve. Eventually it sounds great. Then the next drop wants one too, and the tempo has changed since, and the shape you drew does not move with it.

The rest of the family is no better. A reverse fill means bouncing a chunk of audio, flipping it, and lining it back up. A half time drop means a second copy of the part running at half speed, timed by hand. A ratchet means chopping and duplicating until it reads as one gesture. All of it is manual, all of it is frozen at the tempo you drew it at, and none of it can be saved as a sound.

What those edits have in common is more useful than what separates them. Every one of them is an answer to the same question: at this instant, where should the playhead read from? Play straight and it reads from now. Reverse and it reads backwards through the last beat. Tape stop and it reads forwards, but slower and slower. Once you look at it that way the whole family collapses into one small device, and a device can ride your tempo for you.

One buffer, one read head

Timefold keeps a rolling recording of the last couple of seconds of whatever goes into it. That is the entire storage. Everything you hear coming out is a read from that recording.

Including the dry signal. When a step is doing nothing, the read head sits at zero delay, immediately behind the write, so the untouched signal is the shortest possible read. Nothing had to be built to pass audio through.

That reads like an implementation footnote and it is really the whole design. Because dry and every effect are the same kind of thing, moving between them is a move of the read head, so one four millisecond crossfade covers every case there is: the onset of a stutter, the release of a tape stop, the wrap of a loop, and the handover back to live. There is no separate path to get wrong and no list of seams to patch one at a time.

The head being retired keeps travelling at whatever speed it had when it was cut, rather than freezing on a sample and fading a held value. Four milliseconds of a coherent tail sounds like nothing. Four milliseconds of a frozen one sounds like a tick.

Seven things to do with the recent past

A sixteen cell pattern rides the host grid, one division per cell, anything from a quarter note down to a thirty second. Clicking a cell cycles it through the seven trajectories the read head knows. Every fourth cell sits on a lighter bed so you can count beats without squinting, and an outline runs across the grid as it plays.

Off is the live signal.

Repeat loops the fragment from just before the step, over and over, a little quieter on each pass if you want the decay. That is your stutter and your ratchet, and the fragment has its own length control, down to a sixty fourth.

Reverse plays the previous step backwards. One cell of it before a downbeat is the reverse fill you used to bounce by hand.

Tape stop begins at normal speed and coasts to a standstill across the step. Because it starts at full speed there is nothing to conceal at the onset: it grows out of the live signal rather than cutting to something else.

Half reads at half speed, an octave down and twice as long, which is the half time drop as a single cell.

Double starts a whole step in the past and reads at double speed, so it chases the present and lands exactly back on the live signal as the cell ends.

Pitch falls from full speed to half across the step, a downward glide instead of a stop.

Three of those begin at zero delay, so their onsets are continuous by construction and never need the crossfade at all. The other four jump, and the fade takes care of them. Nothing in the list is generated: whatever comes out is your own material read back at a different time, which is why it sits in a mix instead of on top of one.

The mistake I had already made once

There is one way to ruin a device like this and it costs nothing to get wrong. I know because I got it wrong earlier in the project, on a multi tap delay.

Audio software works in blocks, a few hundred samples at a time. Nearly every control value in a synth can be worked out once per block and smoothed across it, and you will never hear the join. Filter cutoffs, gains, modulation, all of it.

A read position is not a control value. If you compute where to read at the top of a block and then slide to the next block's value across it, you are not smoothing a knob. You are resampling the audio itself at block rate. On the delay that arrived as rumble, a low growl sitting under the taps that no amount of filtering touched, because the growl was the block boundary.

So in Timefold the read position is worked out for every single sample, and the sound is reconstructed from four neighbouring samples at a time rather than the nearest one. Gains still move on a coarse grid, because gains really are control values. The position never does. It is more arithmetic than seems necessary and it is the whole difference between a tape stop that sounds like tape and one that sounds like a dropout.

Probability, without losing the bounce

Each cell carries a probability as well as an effect. Drag inside it and it fills like a small bar, so a step can fire on most passes rather than all of them, and a four bar loop stops announcing itself.

Most passes is a problem, though. A glitch device that rolls dice sounds different every time you play it, which is a pleasure while you are jamming and a disaster when you print. You bounce the track and the fill you spent the afternoon falling in love with is not the fill on the file.

So the dice are not dice. Each cell's decision comes from a number that describes exactly where that step sits in the song, put through a scrambler that spreads those numbers evenly across the range. It looks random and it is evenly distributed, and it gives the same answer for the same bar every single time. Bar seventeen is identical on the ninth playback, in the offline bounce, and on somebody else's computer. Set a cell to full and its draw always passes, so a completely programmed pattern is exact rather than merely very likely.

One knob scales all sixteen probabilities together, from silent to fully programmed. Point a macro at that and you have a single control that takes a part from clean to completely folded. It is the automation lane I actually wanted: one line, drawn once, that lives in the patch instead of in the arrangement.

Tempo is not enough

The first version asked the host for the tempo and counted its own bars from there. That works right up until somebody uses a computer the way people actually use one.

You loop eight bars while you work on them. You drag the playhead back to the top. You start from the middle of a section because that is the bit you are fixing. Every one of those leaves a device that counts for itself permanently offset from the music, and the failure is quiet rather than obvious: the pattern is still perfectly in time, it is just in time with the wrong beat, and your tape stop has moved to the three.

The fix is to ask the host where it is, not only how fast it is going. Timefold reads the song position and puts the first cell where the bar is, so loops, jumps, and starting from anywhere all land the pattern where it belongs. If a host offers no position at all the pattern free runs from the tempo. If the transport is stopped the device stands down and passes audio through, because a stutter on a stationary playhead is just a stuck note.

Carrying that one number was a larger job than the effect it feeds. It has to travel from the host, through the instrument, into the rack, and out to a device that could be sitting in any slot. The number itself is two decimal places of nothing. Everything downstream of it is the reason a fill lands on the beat you drew it on.

How you prove a glitch box is not glitching

Every transition in this thing is a splice, and a splice that lands wrong is a click. So it needed a test, and writing the test turned out to be more interesting than writing the device.

The obvious test looks for a sudden leap from one sample to the next. Play material through, flag every leap, count them. I wrote that, pointed it at a few of the presets, and it reported over a thousand clicks.

Not one of them was a click. Those patches are sawtooth based, and a sawtooth's entire job is to leap: at the bottom of every cycle it snaps back to the top. My detector was faithfully counting the oscillator. A test that reports the source material as broken is not a test, it is a very confident random number.

The version that means anything feeds the device a plain sine at a known pitch, because for a sine you can work out in advance the largest honest step there can be between two samples. Anything bigger than that belongs to the device and nothing else. Run all seven trajectories, every division, every fragment length, and the largest jump it found was about a third of what the sine does between samples on its own. Nothing there to hear. It is a small thing to be pleased about and it kept me pleased for an entire evening.

Where it earns its place

The fastest useful thing you can do with it is a half time drop. One cell set to half speed on the last beat of a break, and the part falls into slow motion and climbs back out on the downbeat, at whatever tempo the session happens to be at today.

After that: a reverse cell in front of a downbeat for a fill you did not have to bounce, a fine fragment length with a couple of repeat cells for ratchets on a lead, and tape stop in the final cell of a bar for the end of a section. On bass, keep the divisions long and the fragments coarse, since the whole point of a sub is the part of it that needs time to exist.

It is also a sound design device rather than only an editing one. Sitting before a reverb it hands the tail a stuttered signal to smear, which is a texture rather than an edit. On a sustained pad with low probabilities across the grid, it becomes an unreliable narrator: the chord is mostly there, and now and then a piece of it happens twice.

Timefold is the seventeenth device in Laura's effects rack, and it is in Laura FX as well, so it works on drums, vocals, or a whole mix, not only on the synth. Four factory presets ship built around it, and five ready made chains in the effects plugin, including the half time drop and the reverse fills.

The demo is free and fully featured for thirty minutes a session, no account needed. Load Fold Machine, hold a chord, and turn the one knob that scales the pattern until you can hear where the seam should have been.

If you like reading about the awkward middle of building a synth, the piece on building a riser that never ends is the same story from the other end of the rack, including the version of it that came out as a gate.

Keep reading

  • Why your tempo synced LFO is in the wrong place · Set an LFO to one bar, print the loop, and it sounds right. Stop the transport, hit play again, and the same bar sounds different. The rate was never wrong. The position was.
  • How to build a riser that never ends · Every riser you have printed ends somewhere. It runs out of top, or it loops and you hear the seam. A longer sweep will not fix it. What does is an illusion that has been sitting in the psychoacoustics literature since 1964.
  • Playing the edge of the Mandelbrot set · Most of a fractal is quiet. The sound lives at the edge, and until now Laura mostly sampled past it. The new update pins the oscillator to the boundary, then adds the kind of modulation that knows how to walk along it.

Hear it for yourself. The demo is free and unrestricted for 30 minutes per session.

← All articles