5D Library › The Biomechanics of Phonation and Attentional Shift · 中文
Chapter 3 The Auditory–Motor Feedback Loop
Singing by ear
A singer controls pitch with two kinds of information. Feedforward control uses a learned map from intended notes to muscle commands: a trained singer can land on a note before hearing it. Feedback control compares what is heard with what was intended and corrects the difference. Both are needed. Without feedforward control every note would begin wrong; without feedback, small drifts would never be caught.
Two classic demonstrations
Evidence
In 1911 the French otolaryngologist Étienne Lombard reported that speakers raise their voices involuntarily when they cannot hear themselves well, for example in noise. The Lombard effect has since been found in many species of birds and mammals and is one of the most robust examples of auditory feedback shaping vocal output (Brumm and Zollinger 2011).
Evidence
When the pitch of a person’s voice is shifted electronically in their headphones while they hold a note, their voice F0 changes, usually in the opposite direction to the shift, beginning on the order of 100–150 ms later: the pitch-shift reflex (Burnett et al. 1998). When people are instructed to respond, an early reflexive component and a later, voluntary component can be told apart, and instructions change the timing of the responses (Hain et al. 2000).
Pitch is measured in cents: a hundred cents to an equal-tempered semitone, twelve hundred to an octave. Cents describe intonation the way the ear hears it, as ratios rather than hertz.
Calculation
Hertz to cents, and why the same error in hertz matters more at low pitch.
import math
# Cents: 100 cents = one equal-tempered semitone; 1200 cents = one octave.
def cents(f, ref):
return 1200 * math.log2(f / ref)
A4 = 440.0
for f in (441.0, 445.0, 452.0, 466.16):
print(f"{f:7.2f} Hz against A4 = 440 Hz: {cents(f, A4):+6.1f} cents")
# The same 10 Hz error is a different number of cents at different pitches:
for ref in (220.0, 440.0, 880.0):
print(f"10 Hz sharp of {ref:5.0f} Hz = {cents(ref + 10, ref):5.1f} cents")
# 441.00 Hz against A4 = 440 Hz: +3.9 cents
# 445.00 Hz against A4 = 440 Hz: +19.6 cents
# 452.00 Hz against A4 = 440 Hz: +46.6 cents
# 466.16 Hz against A4 = 440 Hz: +100.0 cents
# 10 Hz sharp of 220 Hz = 77.0 cents
# 10 Hz sharp of 440 Hz = 38.9 cents
# 10 Hz sharp of 880 Hz = 19.6 centsA delay in the loop
Any feedback loop with a delay has a limit to how hard it can correct. Here the singer hears the pitch error about 120 ms late and corrects at a rate proportional to what they hear. If the correction is gentle, the error dies away smoothly. If it is strong, the correction made for an old error overshoots a pitch that has already moved, and the voice swings back and forth.
Calculation
A delayed negative-feedback model, , with ms, after a 50-cent error at the start of a note. The loop starts to oscillate when exceeds .
import math
# Pitch held by delayed negative feedback. The singer hears the pitch error
# τ seconds late and corrects at a rate proportional to it:
# dx/dt = −G · x(t − τ) (x = pitch error in cents)
# A step error of 50 cents appears at t = 0 (for example, a wrong onset).
def run(G, tau=0.12, x0=50.0, dt=0.001, T=3.0):
lag = int(tau / dt)
xs = [x0] * (lag + 1)
for _ in range(int(T / dt)):
xs.append(xs[-1] - G * xs[-1 - lag] * dt)
return xs[lag:]
tau = 0.12
G_crit = math.pi / (2 * tau)
print(f"delay τ = {tau * 1000:.0f} ms → oscillation starts at gain G = π/(2τ) = {G_crit:.1f} per s, "
f"frequency 1/(4τ) = {1 / (4 * tau):.1f} Hz")
for G in (4.0, 9.0, 12.0, 15.0):
xs = run(G, tau)
late = xs[2000:] # the last second
amp = (max(late) - min(late)) / 2
under = -min(xs)
settle = next((i / 1000 for i in range(len(xs)) if all(abs(v) < 5 for v in xs[i:])), None)
print(f"G = {G:4.1f}/s (Gτ = {G * tau:.2f}): overshoot {under:5.1f} cents, "
f"swing in 3rd second ±{amp:6.1f} cents, "
+ (f"within ±5 cents after {settle:.2f} s" if settle else "never settles"))
# delay τ = 120 ms → oscillation starts at gain G = π/(2τ) = 13.1 per s, frequency 1/(4τ) = 2.1 Hz
# G = 4.0/s (Gτ = 0.48): overshoot 1.5 cents, swing in 3rd second ± 0.0 cents, within ±5 cents after 0.27 s
# G = 9.0/s (Gτ = 1.08): overshoot 29.2 cents, swing in 3rd second ± 0.4 cents, within ±5 cents after 0.87 s
# G = 12.0/s (Gτ = 1.44): overshoot 47.3 cents, swing in 3rd second ± 17.1 cents, never settles
# G = 15.0/s (Gτ = 1.80): overshoot 663.3 cents, swing in 3rd second ± 605.1 cents, never settlesWith a gain of 4 per second the error is gone in about a quarter of a second, almost without overshoot. At 9 per second it overshoots by 30 cents and takes nearly a second to settle. At 12 per second, still just below the critical gain, it swings by tens of cents for several seconds; above the critical value, the swing grows. The frequency of the swing, about 2 Hz for a 120 ms delay, is set by the delay, not by the singer’s intention.
Evidence
Feedback-loop instability is not only a teaching image. Titze and colleagues modelled vocal vibrato, a regular 5–7 Hz oscillation of pitch, as a reflex resonance: a feedback loop controlling vocal-fold length, with a latency of more than 40 ms, which oscillates near its natural frequency and which singers cultivate from the physiological tremor already present (Titze et al. 2002).
Hypothesis · not established
Not established. Directing a singer’s attention to the throat and breathing muscles raises the effective gain of moment-to-moment pitch correction, and so produces slow pitch wobble of the kind shown by the model. The hypothesis predicts that, holding a sustained note, singers instructed to monitor and control their larynx show more F0 variability in the 1–4 Hz band than when instructed to focus on the sound in the room, with the 5–7 Hz vibrato band unchanged. It would be refuted if, in a randomised within-singer comparison, the 1–4 Hz band power did not differ between the instructions.
Note
The model is a deliberate simplification. Real pitch control mixes feedforward and feedback, uses touch and muscle sense as well as hearing, and adapts its gain. The point of the model is narrow: a loop with a delay cannot be made more accurate simply by correcting harder.
References
Fan, Y. (2026). The Biomechanics of Phonation and Attentional Shift: Myoelastic-Aerodynamic Theory, the Singer's Formant, Auditory-Motor Feedback and External Focus of Attention [发声的生物力学与注意力转移] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23719625 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).