A plucked string is one of the friendliest systems you will meet: it has a clean transfer function, and the way it sounds — bright pluck, pure sustain — is written entirely in the placement of its poles.

The whole idea in one line. Plucking the string is, to a good approximation, exciting it with an impulse δ(t). The response of any linear system to δ(t) is, by definition, its impulse response h(t). So the sound of a plucked string is h(t):  pluck = δ(t) → sound = h(t).

1. The string as a transfer function

A string vibrates in modes: a fundamental at f0 plus harmonics at 2f0, 3f0, … Each mode is a lightly-damped second-order resonator with a complex-conjugate pair of poles:

Hn(s) = An·nω0 / [ (s+σn)² + (nω0)² ] ,    poles at s = −σn ± j·nω0

The detail that makes it sound plucked: the damping σn is not the same for every mode. Higher harmonics fade faster, so their poles sit further left:

σn = σ0 + β(n−1)    (higher n ⇒ poles further left ⇒ faster decay)

The whole string is the sum of these resonators — a transient (not a periodic waveform), each harmonic fading at its own rate:

h(t) = Σn An e−σnt sin(nω0 t) ,    f0 = ω0 / 2π   (here 220 Hz, an A3)

2. Why it sounds plucked: each mode decays at its own rate

If we damp every mode equally, all harmonics ring on together and the string is buzzy and shrill — more reed organ than guitar. Let the high modes die faster and the very same formula sounds like a real plucked string. Compare:

Equal damping n constant: buzzy, not a guitar) —  [play/download]

Frequency-dependent damping n grows with n: a real pluck) —  [play/download]

This is exactly the trick behind the classic Karplus–Strong string: a low-pass in its feedback loop loses the highs faster than the lows. Here it comes straight from the poles — the high modes simply sit further left in the s-plane.

Waveform, spectrogram and attack vs late spectrum

3. Where you pluck colours the sound: a comb filter

The amplitudes An are set above all by where you pluck. Pluck at a fraction p of the length and mode n is born with amplitude

An = sin(nπp) / n

That sin(nπp) is a comb filter: any harmonic with a node at the pluck point is a zero of the spectrum. Near the bridge (small p): bright, twangy. At the middle (p = 0.5): every even harmonic vanishes — hollow. Same string, only the pluck point moved:

Near the bridge (p = 0.10: bright, twangy) —  [play/download]

At the middle (p = 0.50: hollow, only odd harmonics) —  [play/download]

Attack spectra near the bridge and at the middle

This is one of the Jaffe–Smith extensions of Karplus–Strong (1983): moving the pluck point is exactly inserting a comb filter — much of what makes a real guitar recognisable.

4. One more first-order system: the air

The sound still travels through air, which absorbs highs more than lows — a first-order low-pass filter:

Hair(s) = ωc / (s + ωc) ,    |H(jω)| = ωc / √(ω² + ωc²)    (fc = 1.5 kHz)

Plucked string (before the air) —  [play/download]

After the air (a touch warmer) —  [play/download]

5. A little tune

Change f0 for each note — same string model. The opening of Beethoven’s Ode to Joy, fifteen plucked notes from one transfer function:

Ode to Joy —  [play/download]

Where this meets the syllabus

This toy instrument is a compact tour of continuous-time Signals and Systems:

  • Second-order systems & poles — each mode is a resonator with poles at −σn ± jnω0.
  • Transfer function H(s) & the Laplace transform — the string is a sum of such Hn(s).
  • Impulse response — the pluck is an impulse, so what we hear is h(t).
  • Pole placement & damping — high modes have larger σn (poles further left), so they decay faster — the plucked timbre (the Karplus–Strong loop filter).
  • Fourier series, zeros & comb filtering — the amplitudes sin(nπp)/n are a comb whose zeros are the harmonics with a node at the pluck point.
  • First-order low-pass & frequency response — the air is ωc/(s+ωc), −6 dB/octave.
  • Stabilityσn > 0 puts every pole in the left half-plane, so the response decays.

Exam-style question

A single string mode has   H(s) = Aω / [ (s+σ)² + ω² ].

(a) What is its impulse response, and where are its poles?
(b) The air is modelled by Hair(s) = ωc/(s+ωc). What is its impulse response?
(c) Explain, from |Hair(jω)|, why the filter makes the string sound less harsh.

Answers. (a) h(t) = A e−σt sin(ωt) for t ≥ 0; a decaying sinusoid, with poles at s = −σ ± jω (a complex-conjugate pair in the left half-plane). (b) hair(t) = ωc e−ωct — a decaying exponential (the classic RC response). (c) |Hair(jω)| = ωc/√(ω²+ωc²) is ≈1 for ω ≪ ωc and falls as ωc (−6 dB/oct) above it. The high harmonics — the ones that make the tone harsh — are attenuated most, leaving a warmer tone.

The whole instrument in MATLAB

Fs = 44100; f0 = 220; w0 = 2*pi*f0; T = 1.5;
t  = (0:1/Fs:T-1/Fs)';
sigma0 = 2; beta = 4;          % sigma_n = sigma0 + beta*(n-1)
p = 0.20;                      % pluck position (fraction of length)

% --- the string: pluck-position comb + per-mode damping ---
h = zeros(size(t));
for n = 1:floor(0.45*Fs/f0)
  A   = sin(n*pi*p)/n;                    % comb: zeros at nodes of the pluck point
  sig = sigma0 + beta*(n-1);              % frequency-dependent damping
  h   = h + A*exp(-sig*t).*sin(n*w0*t);   % 2nd-order mode, pole at -sig +/- j*n*w0
end

% --- the air: one more first-order low-pass H(s) = wc/(s+wc) ---
fc = 1500; wc = 2*pi*fc;
hf = lsim(tf(wc,[1 wc]), h, t);

soundsc(h,  Fs);   % the plucked string
soundsc(hf, Fs);   % a touch warmer through the air

References & credits

  1. K. Karplus and A. Strong, “Digital Synthesis of Plucked-String and Drum Timbres,” Computer Music Journal, vol. 7, no. 2, pp. 43–55, 1983.
  2. D. A. Jaffe and J. O. Smith, “Extensions of the Karplus–Strong Plucked-String Algorithm,” Computer Music Journal, vol. 7, no. 2, pp. 56–69, 1983. (the pluck-position comb used here)
  3. E. A. Lee and P. Varaiya, Structure and Interpretation of Signals and Systems, 2nd ed., 2011 — EECS 20N lab, UC Berkeley.
  4. J. O. Smith III, Physical Audio Signal Processing, CCRMA, Stanford.
  5. Melody: L. van Beethoven, “Ode to Joy” (Symphony No. 9, 1824) — public domain.
  6. Course text: D. Valério, Sinais e Sistemas (SSM, Instituto Superior Técnico).

Continuous-time re-modelling, audio and notes by Carlos Cardeira (2026), inspired by the Karplus–Strong algorithm, the Jaffe–Smith extensions and the Berkeley EECS 20N lab. Part of the Signals and Systems Curiosities series.