snowday

Blog

Shaping the stop

How tapespin works · October 13, 2026 · 5 min read

How the tape slows is the whole character of the effect. This essay is about the speed curve, and why a curve that looks right can sound wrong.

Pitch is speed

The engine has one number that matters: speed, how far the read head moves per output sample. At one, the track plays as it is. At a half, every frequency halves, an octave down. The readout under the record shows that number as a percentage and in semitones. Near a standstill the output also fades out, below about six percent speed, so a full stop is silent and does not click when it restarts.

The stop curve

With Auto off and Ramp set to Manual, the stop is a simple power curve. Call the fraction of the ramp that has passed p, from zero to one. Then

speed = start * (1 - p^e), with e = 3^curve

The Curve knob, minus one to plus one, sets the exponent. At zero the exponent is one and the speed falls in a straight line: constant deceleration, half speed halfway through. At plus one the exponent is three: the speed holds near normal for most of the ramp and then drops, still at 87 percent halfway through. At minus one the exponent is a third: the brake bites at once and the tape coasts, already down to about 21 percent halfway, with the long tail spent creeping to a stop. The tests check the midpoint: below 0.4 at minus one, above 0.6 at plus one.

The Start curve shapes the spin-up the same way, mirrored. Either ramp starts from the speed the tape is at now, with no step at the join.

Why speed-shaped ramps sound uneven

A straight line in speed is not a straight line in pitch. Pitch is logarithmic: each halving of speed is one octave, however small the speeds. So a linear stop spends its first half going from normal to one octave below, and its second half going from one octave below to silence, a slide that gets steeper and steeper. Most of the audible drop is crammed into the end.

The engine has an option for this. The Bezier pitch ramp shapes the curve in octaves rather than speed, so equal time means equal semitones. Internally it works on log2(speed + 0.06); the 0.06 floor, the fade-out speed, keeps the logarithm finite at a standstill. Measured when the option was built, about forty percent of a full stop is then spent below the fade-out point. The slide is even, but part of it is inaudible.

The Bezier ramp

Both Bezier choices use the same shape: a cubic Bezier with a handle at each end. The engine source marks it experimental; it is available with Auto off as the Ramp choices Bezier and Bezier pitch. Ease in is how long the tape keeps doing what it was doing before the stop bites. The curve leaves the current speed along the current slope, so let go halfway down and the tape keeps falling for a moment before it turns. Ease out is how gently it settles. The spin-up is the stop played backwards, with the two handles swapped.

The platter

The other model is a platter with a motor. The engine source still marks it experimental. It is the Ramp choice called Platter, and it is the model the Auto switch uses.

The platter sets speed through torque. Speed can only change by being pushed, and the push itself cannot jump; it slews toward its target over a short time. That one rule is inertia. Every change of direction carries on the old way for a moment first.

A stop is a constant brake. The engine finds the brake strength that reaches standstill exactly when asked, so the stop is as long as the setting says. A start is a motor with a torque limit that eases onto normal speed over a settle time. Grab the record during a spin-up and it keeps rising a little before it turns; let go of a scratch while pulling backwards and the motor has to work to turn it around. Measured offline, a platter stop is close to a straight ramp with rounded corners; its weight shows in the direction changes.

Weight and Auto, from the outside

Weight sets how heavy the platter is, from zero to one hundred percent. Inside, it stretches two times: how slowly the torque can change (10 to 120 milliseconds) and how long the motor takes to settle onto normal speed (35 to 135 milliseconds). Heavier keeps going longer before it turns and takes longer to get back, and needs a longer minimum spin-up to reach normal speed by the landing.

Auto is one switch that reads the hand. With it on, the platter model is used and the lengths come from the gesture. A grab brakes over one beat, ending on a beat while the song plays. Letting go after a hold comes back in the time it fell, between an eighth of a beat and a beat. After a drag it comes back in proportion to how much tape was pulled, and letting go while moving backwards adds up to a quarter of a beat to turn around. The result is then moved to end on the Snap grid. With Auto on only Weight and Snap apply.

Written from the engine source, tapespin 0.1.0.