SILICONAntiques™
12 Nov 2026Mellt FM-1, Tant KS-2 and Tonnau WT-3 are out: version 1.0.0, free.Apple Silicon only for now; the universal build for Intel Macs is next.What I'm doing this week →
Silicon Antiques › Learn › Karplus-Strong
Learn · Karplus-Strong

A string made from a noise burst and a loop

Karplus-Strong synthesis is a 1983 trick that still sounds like a plucked string. What the loop does, what was wrong with the original, and how each fix became a knob on Tant.

The trick

In 1983 Kevin Karplus and Alex Strong published a short paper in Computer Music Journal describing a way to make a plucked string out of almost nothing. Take a short buffer of random numbers. Play it out on a loop. Each time a sample comes round, average it with its neighbour and put it back. That's the whole thing.

It sounds like a string because it behaves like one. The loop is a delay line, and a delay line fed back on itself rings at the pitch set by its length, with every overtone sitting at a whole-number multiple of that pitch. The averaging is a gentle low-pass filter, so on each trip round the loop the high overtones lose a little more than the low ones. The first few milliseconds are bright and noisy, like the scrape of a pick. Then the top falls away and a clear note is left ringing. A real string does the same, for the same reason: the high modes lose energy faster.

The Karplus-Strong loop: a noise burst enters a delay line, whose output goes to the speaker and back through a low-pass filter into the delay line. noise burst + delay linelength sets the pitch out low-passa little duller each lap
The loop. A burst goes in once; the delay line and the filter do the rest. Shorten the delay and the pitch rises. Open the filter and the note rings longer and brighter.

The economy of it was the point. In 1983 this ran on hardware that couldn't hope to play back a recorded guitar, and it produced something a recording couldn't: a string whose pluck, length and decay you could change per note. Karplus and Strong called their instrument the Digitar. The same issue of the journal carried a second paper, by David Jaffe and Julius Smith, that fixed the things which stopped it being a proper instrument, and most of what you hear in Tant comes from those fixes.

What was wrong with it, and what fixed it

It wouldn't tune

The delay line holds a whole number of samples, so the pitch can only be sample rate divided by a whole number. At the bottom of the keyboard that's fine. Three octaves up, the gaps between the pitches you can have are wider than a semitone. Jaffe and Smith's answer was a fractional delay: a small all-pass filter in the loop that adds a bit less than one sample of delay, tuneable in between the integers. Tant reads its delay line between the samples for the same reason, with an allpass read while the pitch is steady and a Lagrange read while it moves, and it's why the strings are in tune at the top of the keyboard.

High notes died too fast

A short loop is visited more often, so the filter gets more goes at it per second, and high notes decay in a fraction of the time of low ones. Real strings do some of this, but not that much. The fix is to make the loop filter's loss depend on the pitch, which is what a Decay control on a string synth is really doing: scaling the loss so a C6 rings about as long as you'd expect it to.

Every pluck was the same

Pure white noise is one kind of pluck: a hard pick, near the bridge. A guitarist has a thumb, a fingertip, a plectrum and a choice of where along the string to use them. The answer is to shape the burst before it goes in. Filter it and the pluck is softer. Shorten it and it's a harder, drier attack. Pass it through a comb filter tuned to a fraction of the string's length and you get the effect of plucking at that point: the overtones that have a node there don't get excited, which is exactly why a guitar sounds different over the sound hole and by the bridge.

The same thing, as knobs

Tant has one exciter, not a menu of them. Every note starts with a fresh burst of white noise, shaped by the controls below, then high-passed at half the note's pitch (to keep thumps out of the string) and fed into the loop. These are the controls, in the order the signal meets them.

Burst LengthHow long the noise lasts, 0.2 to 200 ms. Under 5 ms is a pick. Tens of milliseconds is a thumb, or a hammer. Towards 200 ms it stops being a pluck and starts being a scrape or a breath.
Burst ColourDark to bright, −100% to +100%. Below zero a low-pass closes down on the burst; above zero a high-pass opens it up. Power-matched, so it changes tone more than level.
Velocity BrightnessA second low-pass that velocity drives. At 100% the softest note is up to nine octaves darker than the hardest. Playing harder brightens the pluck, as it does on a real instrument.
Pick PositionThe comb. Off to 50% of the string's length. Near zero is at the bridge, thin and twangy. Towards the middle is round and hollow, because every even overtone has a node there.
Exciter LevelHow hard the burst hits the string. Velocity is pinned to this by default, which is why Tant responds to touch straight out of the box.
DecayHow long the string rings, scaled across the keyboard so high notes don't vanish.
BrightnessThe loop filter. How much top the string keeps on each lap. Low settings are nylon and felt; high settings are steel.

Pick Position, Burst Length, Burst Colour and Exciter Level are all matrix destinations, and the burst's own envelope is a matrix source. So an envelope can move the pick along the string over a phrase, or the joystick can change the plectrum mid-note. None of that is possible on an instrument made of wood.

When it stops being a string

The loop doesn't know it's a string. A delay line with a filter in the feedback path is also a decent model of a tube, and the thing that decides which one you hear is the excitation. Hit the loop once and it's a plucked string. Keep feeding it and it's a bore being blown.

The original 1983 paper also had a drum variant, which randomly flips the sign of samples on their way round the loop so the pitch dissolves into noise. Tant doesn't do that one. It has a noise source in its matrix and two filters per voice instead, which gets to similar places by a different road.

Three places to start

Starting points, not presets. They were written from the engine's controls rather than played in, so treat the numbers as a first guess and use your ears.

  1. Harp. Burst Length 2 ms, Burst Colour +20%, Pick Position 12%, Decay long, Brightness about two-thirds. Velocity Brightness 60% so soft notes go felt-like. Add a touch of the Reverb effect. If it sounds like a harpsichord, move the pick position towards the middle.
  2. Palm-muted bass. Burst Length 8 ms, Burst Colour −40%, Pick Position 5%, Decay short, Brightness low. Mono voice mode with a little glide. The low-pass in the burst is doing the muting; the short decay is the palm.
  3. Bowed, slowly. Burst Length 200 ms, Burst Colour 0, Decay long, Brightness high. Patch Env 1 (Trapezoid, slow Attack) to Exciter Level so the burst swells in, and the same envelope lightly to Brightness. It isn't a violin. It's a string being excited for longer than a pluck, which is the interesting bit.

Pluck one.

Tant KS-2 is free for Apple Silicon Macs, as AU, VST3 and Standalone. One exciter, twenty-three strings, and a pin matrix that can move the pick while the note rings.