5D Library › 发声的生物力学与注意力转移 · English

第八章 实践:声学评估与预注册试验

第一部分 四步声学评估

免费软件 Praat (Boersma and Weenink 2026) 能完成这项评估所需的全部测量。在安静的房间里录音,每次使用同一支麦克风、同样的距离(约 30 cm),保存为 44.1 kHz 的 WAV 文件。

注

先轻柔地热身。所有任务都保持在舒适的音量,任何不适都应立即停止。这项评估是教学工具,不是临床检查;持续的声音嘶哑应当去看医生(见序言)。

四个步骤

  1. 五个目标音。 学生跟随参考音,用 /a/ 唱五个持续的音(例如较低的嗓音唱 C4 到 G4,较高的嗓音高八度),每个约两秒。
  2. 以音分计的音准误差。 在 Praat 中选取每个音稳定的中间一秒,读取音高中位数,按 1200log⁡2(f/ftarget)1200\log_2(f/f_{\text{target}}) 换算为相对目标音的音分,再取绝对值的平均。
  3. 谐噪比。 用舒适中音区的三秒持续 /a/,读取稳定中段的谐噪比。
  4. 共振峰。 在同一个元音上读取 F1 和 F2(对受过古典训练的歌者,再看看 3 kHz 附近的频谱)。

推导

一位学生上课前后的编造示例:每个音的音分误差、平均绝对误差和平均有符号误差,以及谐噪比的变化。

import math

def cents(f, ref):
    return 1200 * math.log2(f / ref)

# Step 2 of the assessment: the median F0 of the stable middle of each sung note,
# read from Praat, against the target note. Invented example of one student.
targets = {"C4": 261.63, "D4": 293.66, "E4": 329.63, "F4": 349.23, "G4": 392.00}
before = {"C4": 258.9, "D4": 289.0, "E4": 321.8, "F4": 343.0, "G4": 381.5}
after = {"C4": 260.8, "D4": 292.1, "E4": 327.0, "F4": 347.5, "G4": 388.6}

for label, sung in (("before", before), ("after", after)):
    errs = [cents(sung[n], targets[n]) for n in targets]
    mae = sum(abs(e) for e in errs) / len(errs)
    print(f"{label:6s} " + " ".join(f"{n}:{e:+5.1f}" for n, e in zip(targets, errs))
          + f" | mean absolute error {mae:4.1f} cents, mean signed {sum(errs) / len(errs):+5.1f}")

# Steps 3–4: HNR and F1/F2 of a sustained /a/ entered from Praat
hnr = {"before": 14.2, "after": 17.9}
print(f"HNR {hnr['before']} → {hnr['after']} dB ({hnr['after'] - hnr['before']:+.1f} dB)")
# before C4:-18.2 D4:-27.7 E4:-41.6 F4:-31.2 G4:-47.0 | mean absolute error 33.1 cents, mean signed -33.1
# after  C4: -5.5 D4: -9.2 E4:-13.9 F4: -8.6 G4:-15.1 | mean absolute error 10.5 cents, mean signed -10.5
# HNR 14.2 → 17.9 dB (+3.7 dB)

在这个编造的示例中,学生每个音都偏低,而且音越高偏得越多;误差从 33 音分降到 11 音分。平均有符号误差值得与绝对误差一起记录:一贯偏低需要的练习,与随机散布不同。

第二部分 预注册随机试验

问题

对成年初学者,在触觉锚定和外部听觉–空间焦点下唱五分钟,是否比在指向喉咙和呼吸肌肉的内部焦点指令下唱五分钟,更能减少音准误差?

设计

要素 规定
参与者 18–60 岁成年人,除学校音乐课外未受过声乐训练,自述听力正常,目前没有嗓音问题;排除:筛查时声音嘶哑、正在治疗的嗓音疾病、近期咽喉手术
设计 两组平行随机试验;计算机按 1:1 分配,分组在参与者完成基线录音后才揭晓
基线 第一部分的四步评估
A:内部焦点 用同样五个音做五分钟引导练习,指令为「密切注意你的喉咙和呼吸用到的肌肉,控制它们唱准每个音」
B:锚定 + 外部焦点 同样的练习,同时轻轻握住一块光滑的石头或桌子边缘(由参与者选择,不与人接触),指令为「把每个音送到对面墙上的钟那里,听它到达」
保持相同 指导语长度、重复次数、参考音、房间和麦克风相同;练习指导者按脚本朗读,不给其他反馈
主要结局 练习结束后立即测量的五个音平均绝对音高误差(音分),以基线为协变量
次要结局 持续元音的谐噪比;平均有符号误差;参与者自评用力程度(0–10)
盲法 录音编码;在 Praat 中提取音高和谐噪比的人员不知道分组

B 组的触碰对象是物体而不是指导者,这样试验不依赖人与人的接触,在任何地方都能以同样方式进行。

样本量

推导

import math
from statistics import NormalDist

z = NormalDist().inv_cdf

def per_group_ancova(d, rho, alpha=0.05, power=0.90):
    """Two-arm trial analysed with the baseline as covariate: the variance shrinks by (1 − ρ²)."""
    za, zb = z(1 - alpha / 2), z(power)
    return math.ceil(2 * (za + zb) ** 2 * (1 - rho ** 2) / d ** 2 + za ** 2 / 4)

# Outcome: mean absolute pitch error (cents) over five target notes after 5 minutes.
SESOI, SD = 10.0, 20.0          # smallest difference worth acting on; between-person SD
d = SESOI / SD
for rho in (0.5, 0.7):
    n = per_group_ancova(d, rho)
    print(f"baseline–outcome correlation {rho}: {n} per group, {2 * n} in all "
          f"(recruit {math.ceil(2 * n / 0.9)} for 10 % drop-out)")
# baseline–outcome correlation 0.5: 65 per group, 130 in all (recruit 145 for 10 % drop-out)
# baseline–outcome correlation 0.7: 44 per group, 88 in all (recruit 98 for 10 % drop-out)

方案按较保守的情形计划:每组 65 人完成,共招募 145 人。个体间标准差 20 音分是一个假设,将在 10 人预试验中核对;预试验只用于这一目的和检查操作流程。

分析与判定规则

主要分析为协方差分析:以练习后误差为因变量、基线误差为协变量,得出两组调整后的差值及其 95% 置信区间。结果将按下面这条在任何数据出现之前写定的规则解读,采用等效性检验的思路 (Lakens 2017)。

推导

SESOI = 10.0    # cents of mean absolute pitch error

def verdict(diff, lo, hi):
    """diff = (tactile anchor + external focus) minus (internal focus), adjusted for
    baseline, with its 95 % confidence interval. Negative = smaller pitch error.
    Fixed before any data are seen."""
    if hi <= -SESOI:
        return "external package clearly better (by at least 10 cents)"
    if hi < 0:
        return "external package better; size not shown to reach 10 cents"
    if lo > 0:
        return "internal focus better"
    if lo >= -SESOI and hi <= SESOI:
        return "no difference worth acting on (within ±10 cents)"
    return "unclear: the interval is too wide"

for d, lo, hi in ((-15, -21, -11), (-6, -11, -1), (-1, -7, 5), (-5, -16, 6)):
    print(f"{d:+4d} ({lo:+4d} to {hi:+4d}) cents: {verdict(d, lo, hi)}")
#  -15 ( -21 to  -11) cents: external package clearly better (by at least 10 cents)
#   -6 ( -11 to   -1) cents: external package better; size not shown to reach 10 cents
#   -1 (  -7 to   +5) cents: no difference worth acting on (within ±10 cents)
#   -5 ( -16 to   +6) cents: unclear: the interval is too wide

示例是编造的,用来事先说明每种结果将怎样报告。落在 ±10 音分以内的区间,报告为「没有值得据以行动的差别」,而不是「没有效果」;跨过边界的区间报告为结论不明。

这项试验能说明什么、不能说明什么

B 组把两样东西结合在一起,即触觉锚定和外部焦点,因为这个提示就是这样教的。阳性结果支持的是组合提示,而不是其中任何一个成分;要把两者分开,需要一项四组的后续试验(有无触觉 × 外部或内部焦点)。五分钟的练习检验的也是对表现的即时效果,而不是学习;一天后的保持测试将是下一步。

伦理与利益冲突

两组都是简短、温和的歌唱任务。参与者签署知情同意,可以随时停止。方案在招募前将经独立研究伦理委员会审查并公开登记,遵循预注册的原则 (Nosek et al. 2018)。

利益披露

作者在 vocal.guru 和 singingasia.com 教授声乐,并在教学中使用 B 组所检验的「触觉 + 外部焦点」提示的一种形式,因此与有利的结果有直接的商业利益关系。为限制这种利益的影响:方案、分析代码和判定规则在招募前公开;带练习的指导者、提取测量数据的人员和分析者都独立于作者的企业;无论结果如何,结果、匿名数据和代码都将公开。

参考文献

Boersma, Paul, and David Weenink. 2026. Praat: Doing Phonetics by Computer. Computer program, https://www.praat.org/.
Lakens, Daniël. 2017. “Equivalence Tests: A Practical Primer for t Tests, Correlations, and Meta-Analyses.” Social Psychological and Personality Science 8 (4): 355–62.
Nosek, Brian A., Charles R. Ebersole, Alexander C. DeHaven, and David T. Mellor. 2018. “The Preregistration Revolution.” Proceedings of the National Academy of Sciences 115 (11): 2600–2606.

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