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 cents

A 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, ẋ(t)=−Gx(t−τ)\dot{x}(t) = -G\,x(t-\tau), with τ=120\tau = 120 ms, after a 50-cent error at the start of a note. The loop starts to oscillate when GτG\tau exceeds π/2\pi/2.

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 settles
Pitch error after a 50-cent starting error, for three correction gains with a 120 ms delay. Gentle correction settles; stronger correction overshoots; the strongest, just below the critical gain, rings for seconds.

With 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

Brumm, Henrik, and Sue Anne Zollinger. 2011. “The Evolution of the Lombard Effect: 100 Years of Psychoacoustic Research.” Behaviour 148 (11–13): 1173–98.
Burnett, T. A., M. B. Freedland, C. R. Larson, and T. C. Hain. 1998. “Voice F0 Responses to Manipulations in Pitch Feedback.” Journal of the Acoustical Society of America 103 (6): 3153–61.
Hain, T. C., T. A. Burnett, S. Kiran, C. R. Larson, S. Singh, and M. K. Kenney. 2000. “Instructing Subjects to Make a Voluntary Response Reveals the Presence of Two Components to the Audio-Vocal Reflex.” Experimental Brain Research 130: 133–41.
Titze, Ingo R., Brad Story, Marshall Smith, and Russell Long. 2002. “A Reflex Resonance Model of Vocal Vibrato.” Journal of the Acoustical Society of America 111 (5): 2272–82.

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).