小听是个刚出厂的语音识别助手,在安静的录音棚里表现完美,可一走进真实世界就晕头转向:咖啡厅的杯碟碰撞、马路的胎噪风噪、会议室的空旷回音,还有人说话像开了二倍速……为了让小听在真实环境中不掉链子,工程师为它安排了一所“听觉特训营”。音频数据增强,就是为模型制造各种“环境副本”,用低成本模拟真实世界的声学挑战:加噪是菜市场实战,变速变调是和快嘴人聊天,混响是音乐厅回声课,SpecAugment 是蒙着听老师说话。本文用“特训营”的故事,带你认识这些增强方法的原理与实现,并学会用质量评估来检验特训成效。

岗位关联

掌握音频数据增强,你就能在不增加采集预算的前提下,让语音识别、说话人识别等模型在嘈杂真实环境中保持高准确率,这是语音算法工程师日常提效的核心技能。

目录
  1. 可视化演示
  2. 增强动机:为什么音频需要特训
  3. 加噪增强:在菜市场里练听力
  4. 变速变调:与快嘴和卡通音打交道
  5. 混响模拟:给声音穿上房间的外套
  6. SpecAugment:学会听蒙着说的话
  7. 增强流程:特训营的排课表
  8. 质量评估:检查特训成绩
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示音频数据增强的核心机制,通过基础/核心/应用/扩展四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

音频数据增强:音频增强 音频增强的核心价值与鲁棒性提升 加噪与变速变调基础增强方法 核心机制可视化 音频数据增强整体架构与关键组件

增强动机:为什么音频需要特训

小听刚走出实验室就懵了:会议室里明明听得清清楚楚,一进咖啡厅,杯碟碰撞、背景音乐、陌生人交谈全部涌进麦克风。它原本只习惯“干净人声”这一种环境,这是典型的“训练与测试分布不一致”。在机器学习中,模型只有见过足够多样的环境,才不至于一换场景就失灵。数据增强,相当于在训练阶段就为模型插上“环境想象的翅膀”,用已有样本制造出成百上千种更接近真实世界的副本。

这种思路背后是“真实风险”与“经验风险”的博弈。模型在训练集上表现好,不意味着在真实世界表现好;我们需要让训练分布尽量覆盖真实分布。真实风险用期望损失来定义:

Rtrue(h)=E(x,y)∼Preal[L(h(x),y)]\mathcal{R}_{\text{true}}(h) = \mathbb{E}_{(x,y)\sim P_{\text{real}}}\left[\mathcal{L}\left(h(x), y\right)\right]

1. 真实风险符号:$\mathcal{R}_{\text{true}}$ 表示模型在真实数据分布上的平均错误程度,等于“遇到一个真实样本,预测错得有多狠”的期望。

Rtrue(h)\mathcal{R}_{\text{true}}(h)

2. 期望算子:$\mathbb{E}$ 表示对所有可能真实样本取平均,就像把模型放进所有真实场景中去“考试”,再算平均得分。

E(x,y)∼Preal\mathbb{E}_{(x,y)\sim P_{\text{real}}}

3. 分布来源:$(x, y) \sim P_{\text{real}}$ 表示样本 $x$(音频)和标签 $y$(文字)来自真实世界分布,而不是合成环境。

(x,y)∼Preal(x, y) \sim P_{\text{real}}

4. 损失函数:$\mathcal{L}(h(x), y)$ 是模型预测 $h(x)$ 与真实标签 $y$ 的差距,例如语音识别中的词错误率或交叉熵。

L(h(x),y)\mathcal{L}\left(h(x), y\right)

小听的特训营,就是通过数据增强不断生成接近 $P_{\text{real}}$ 的样本,让它提前在风浪里站稳,而不是只在录音棚里“纸上谈兵”。

加噪增强:在菜市场里练听力

训练营第一课是把小听丢进模拟菜市场:大叔叫卖、塑料袋窸窣、小朋友哭闹,全都叠在喇叭里。加噪增强的核心,就是给干净语音“混入”真实的背景噪声,让模型学会在嘈杂声中提取有效信息。

实现加噪,首先要确定“噪声多大”。工程上用信噪比(SNR)来控制信号与噪声的相对比例。假设语音信号功率是 $P_{\text{signal}}$,噪声功率是 $P_{\text{noise}}$,则:

SNRdB=10log⁡10(PsignalPnoise)\text{SNR}_{\text{dB}} = 10 \log_{10} \left( \frac{P_{\text{signal}}}{P_{\text{noise}}} \right)

1. 信噪比名称:$\text{SNR}_{\text{dB}}$ 是信噪比,单位是分贝(dB),数值越大表示语音越“突出”。

SNRdB\text{SNR}_{\text{dB}}

2. 对数运算:$10 \log_{10}$ 把功率比值转换为对数尺度,让从低到高的信噪比变化更符合人耳感知。

10log⁡1010 \log_{10}

3. 信号功率:$P_{\text{signal}}$ 是原始语音信号的能量平均值,反映“人声有多强”。

PsignalP_{\text{signal}}

4. 噪声功率:$P_{\text{noise}}$ 是噪声的能量平均值,反映“干扰有多吵”。

PnoiseP_{\text{noise}}

5. 整体公式:把两个功率相除后取对数,得到人类常说的“信噪比 15dB”这样的指标。

PsignalPnoise\frac{P_{\text{signal}}}{P_{\text{noise}}}

实际增强时会从背景音库中随机挑选噪声类型(餐厅、街道、雨声),并随机设置 SNR 范围(如 5~20dB),避免模型只适应某一种“菜市场”。菜市场里今天下雨,明天有大喇叭,小听听过的越多,真实世界里越从容。

变速变调:与快嘴和卡通音打交道

特训营第二课是快嘴挑战。真人说话时语速忽快忽慢,有时还带着开心或沮丧的音调起伏。变速变调增强,就是让模型在“语速变化”和“音高变化”下也能识别。

变速(time stretch)只改变声音时长,不改变音高;变调(pitch shift)只改变音高,不改变时长。对声音信号 $x(t)$ 做变速因子 $\alpha$ 的拉伸,得到的信号在时刻 $t$ 的采样值来自原始信号的 $\alpha t$ 位置:

xnew(t)=x(αt)x_{\text{new}}(t) = x(\alpha t)

1. 变换后信号:$x_{\text{new}}(t)$ 表示变速拉伸后,在时间 $t$ 处的信号值。

xnew(t)x_{\text{new}}(t)

2. 原始信号采样:$x(\alpha t)$ 表示从原始音频中取“被压缩或拉伸”后的位置上的值。

x(αt)x(\alpha t)

3. 变速因子:$\alpha > 1$ 表示加速(时长变短),$\alpha < 1$ 表示减速(时长变长)。

α\alpha

4. 映射关系:$t' = \alpha t$ 把新时间轴映射回旧时间轴,相当于对信号做时间轴重采样。

t′=αtt' = \alpha t

实现时常用重采样加线性插值,或者更好的相位声码器。变调则通过改变采样率再恢复时长的技巧实现。注意语义保持:变速因子通常控制在 0.8~1.3,音高偏移不超过 3 个半音,否则“你好”会变成“你你你好好好”,标签就失真了。特训营里的快嘴朋友,语速虽快,但不能说外星语。

混响模拟:给声音穿上房间的外套

训练营第三课是音乐厅回声课。同一个声音,在空荡教堂和堆满家具的客厅里,听起来截然不同。混响模拟让小听学会从墙壁的“回音迷宫”里找到原话。

房间对声音的影响可以用“房间脉冲响应”(Room Impulse Response, RIR)来描述。RIR 记录了房间对一次脉冲的完整响应,包括直达声、早期反射和后期混响尾巴。将原始语音 $x$ 与 RIR $h$ 做卷积,就得到带房间感的信号:

y(t)=∫−∞+∞x(τ)h(t−τ) dτy(t) = \int_{-\infty}^{+\infty} x(\tau) h(t - \tau) \, d\tau

1. 混响输出:$y(t)$ 是经过房间“染色”后,在时间 $t$ 处的信号值。

y(t)y(t)

2. 原始语音贡献:$x(\tau)$ 是原始语音在时刻 $\tau$ 的取值,表示不同时刻发出的声音。

x(τ)x(\tau)

3. 脉冲响应平移:$h(t - \tau)$ 是房间脉冲响应在延迟 $t - \tau$ 处的幅度,表示“从 $\tau$ 时刻发出的声音,对当前时刻 $t$ 的影响”。

h(t−τ)h(t - \tau)

4. 卷积积分:把所有时刻 $\tau$ 的贡献叠加起来,得到当前时刻的混响结果。

∫−∞+∞x(τ)h(t−τ) dτ\int_{-\infty}^{+\infty} x(\tau) h(t - \tau) \, d\tau

实际工程中可以使用公开 RIR 数据集,如 Aachen Impulse Response,或通过镜像声源法合成。混响时间(RT60)是房间特性的关键指标,越长声音越“空灵”。特训营里,小听在“音乐厅模式”和“小卧室模式”之间反复横跳,慢慢学会了从回声里抠出主线。

SpecAugment:学会听蒙着说的话

训练营第四课叫“蒙面听力课”。老师偶尔用书本挡住嘴,或者背景音乐突然盖住一段话,小听必须靠前后文猜出内容。SpecAugment 就是音频版的“蒙面练习”,但它的操作对象是频谱图,而不是原始波形。

语音先被转成对数梅尔频谱图(log-mel spectrogram),SpecAugment 在时间轴和频率轴上随机遮掉一块区域。用一个二值掩码 $\mathbf{B}$ 逐元素乘上原始谱图 $\mathbf{M}$,得到增强后的 $\tilde{\mathbf{M}}$:

M~=M⊙B,Bt,f∈{0,1}\tilde{\mathbf{M}} = \mathbf{M} \odot \mathbf{B}, \quad B_{t,f} \in \{0, 1\}

1. 增强后谱图:$\tilde{\mathbf{M}}$ 表示被遮挡后的频谱矩阵。

M~\tilde{\mathbf{M}}

2. 原始谱图:$\mathbf{M}$ 是原始音频的频谱特征,每一格代表某个时间、某个频率上的能量。

M\mathbf{M}

3. 逐元素乘积:$\odot$ 表示两个矩阵对应位置相乘,就像用一个“透明网格”盖在谱图上,透明处保留、遮住处置零。

⊙\odot

4. 掩码矩阵:$\mathbf{B}$ 中的元素只取 0 或 1,0 表示遮挡,1 表示保留。

Bt,f∈{0,1}B_{t,f} \in \{0, 1\}

5. 时间与频率掩码:在时间轴连续遮一段,或在频率轴连续遮一段,强迫模型利用上下文补全。

Tmask,FmaskT_{\text{mask}}, F_{\text{mask}}

SpecAugment 不需要额外的噪声库,成本低,相当于一种正则化,能显著降低模型过拟合。小听在练习中逐渐明白:即使一小段被“捂住了”,也能根据前后语句猜出意思。

增强流程:特训营的排课表

有了单项训练,接下来是排课。特训营不能只练加噪,也不能只练变速,教练需要把各科目组合起来。增强流程就是给模型设计“系统课表”。

实际工程中,增强可以离线完成(预先存好增强后数据)也可以在线完成(训练时实时生成)。典型做法是从基座数据集中随机取一个样本,用一组带随机参数的变换生成新样本。整个过程可以抽象为:

x~=Aθ(x),θ∼Paug\tilde{x} = \mathcal{A}_{\theta}(x), \quad \theta \sim P_{\text{aug}}

1. 增强样本:$\tilde{x}$ 表示经过变换后生成的新音频样本。

x~\tilde{x}

2. 增强函数:$\mathcal{A}_{\theta}$ 表示一组增强操作,如加噪、变速、混响等组合。

Aθ\mathcal{A}_{\theta}

3. 随机参数:$\theta$ 是增强操作的随机参数,例如噪声强度、变速倍率、混响时间。

θ\theta

4. 采样分布:$\theta \sim P_{\text{aug}}$ 表示每次增强时从预设策略分布中随机抽取参数,保证生成样本多样性。

θ∼Paug\theta \sim P_{\text{aug}}

排课时要注意标签不变原则:加噪和混响不应改变说话内容,变速要控制倍率,SpecAugment 不改变文本标签。在线增强让每个 epoch 都能见到新副本,数据量接近无限;离线增强则便于复现。小听的课表,永远在变化。

质量评估:检查特训成绩

特训营结束要期末考试。不能只看“增强后的音频好不好听”,更要看“模型在真实场景中听不听得懂”。质量评估是音频增强闭环里的关键一环。

评估维度有两类:一是音频信号本身的客观质量,比如信噪比(SNR)、STOI(短时客观可懂度)、PESQ(感知语音质量);二是下游任务的指标,最常用的是语音识别词错误率(Word Error Rate, WER):

WER=S+D+IN\text{WER} = \frac{S + D + I}{N}

1. 词错误率:$\text{WER}$ 是语音识别系统输出的词序列与参考文本之间的错误比例,越低越好。

WER\text{WER}

2. 替换错误:$S$ 是参考词被识别成另一个词的个数,类似“把‘苹果’听成‘平果’”。

SS

3. 删除错误:$D$ 是参考词被漏掉的个数,类似“漏听了‘明天’两个字”。

DD

4. 插入错误:$I$ 是额外多识别出来的词个数,类似“把背景噪声听成了一个字”。

II

5. 参考总词数:$N$ 是标准答案中的全部词数,作为分母。

NN

增强并不是越猛越好。如果加噪后 SNR 只有 -5dB,人耳都听不清内容,模型学到的可能是噪声模式,WER 反而上升。因此,每次调整增强策略后,都要用 STOI 和 WER 重新“发成绩单”。特训营的最终标准,不是练了多苦,而是真实战场上能不能听懂。

AI 应用场景

智能音箱的厨房远场唤醒

阶段:数据准备与训练集增强

解决的问题:录音室采集的唤醒词数据干净、安静,但真实厨房里有抽油烟机、水流声和餐具碰撞,模型经常误唤醒或漏唤醒。通过加噪增强与 RIR 混响模拟,把“厨房副本”批量合成进训练集。

具体案例:某智能音箱团队在训练唤醒模型时,将真实厨房噪声按 0~15dB SNR 随机叠加,并使用实测厨房 RIR 做卷积,离线扩充了 10 倍数据。在真实厨房测试中,唤醒率从 68% 提升到 94%,误唤醒率下降一半。

车机语音导航对抗高速风噪

阶段:模型训练与迭代验证

解决的问题:高速公路上风噪大、驾驶员说话语速偏快,传统模型识别“下一路口右转”时经常出错。通过变速变调增强模拟急促语速,同时叠加风噪录音,让模型适应驾驶场景。

具体案例:车载语音团队收集了 20 小时高速公路噪声,使用变速 0.9~1.2 倍、变调 ±2 半音,并以 10~20dB SNR 混合,在线增强加入训练。导航识别准确率从 82% 提升到 93%,用户投诉明显减少。

会议转写工具应对远场混响

阶段:模型泛化与质量优化

解决的问题:会议室麦克风离发言者远,墙壁反射造成严重混响,语音转写漏字率极高。通过公开 RIR 数据集做卷积混响,再组合 SpecAugment,让模型学会在“回声迷宫”中补全句子。

具体案例:某远程会议软件团队在训练转写模型时,使用 Aachen RIR 库随机选择 20 种不同房间的脉冲响应进行卷积,并施加时间/频率掩码。在真实会议室测试中,WER 从 18.5% 降到 11.2%。

Python 演示

python69 行
import numpy as np  def generate_tone(freq=220.0, duration=1.0, sr=16000):    t = np.linspace(0.0, duration, int(sr * duration), endpoint=False)    return np.sin(2 * np.pi * freq * t) + 0.5 * np.sin(2 * np.pi * 2 * freq * t)  def add_noise(wave, snr_db=10.0):    signal_power = np.mean(wave ** 2)    noise = np.random.randn(len(wave))    noise_power = np.mean(noise ** 2)    target_power = signal_power / (10 ** (snr_db / 10))    noise = noise * np.sqrt(target_power / noise_power)    return wave + noise  def time_stretch(wave, rate=1.2):    if rate <= 0:        raise ValueError("rate must be positive")    new_len = max(1, int(len(wave) / rate))    old_indices = np.linspace(0, len(wave) - 1, len(wave))    new_indices = np.linspace(0, len(wave) - 1, new_len)    return np.interp(new_indices, old_indices, wave)  def pitch_shift_simple(wave, semitones=2.0):    if semitones == 0:        return wave.copy()    rate = 2 ** (semitones / 12.0)    pitched = np.interp(        np.linspace(0, len(wave) - 1, int(len(wave) / rate)),        np.arange(len(wave)),        wave    )    return np.interp(np.linspace(0, len(pitched) - 1, len(wave)), np.arange(len(pitched)), pitched)  def add_reverb(wave, ir_len=256, decay=0.5):    ir = np.exp(-decay * np.arange(ir_len) / ir_len) * np.random.randn(ir_len) * 0.1    ir[0] = 1.0    return np.convolve(wave, ir)[: len(wave)]  def apply_spec_augment(spectrogram, mask_width=2):    aug = spectrogram.copy()    t_len, f_len = aug.shape    t_start = np.random.randint(0, t_len)    f_start = np.random.randint(0, f_len)    aug[t_start:t_start + mask_width, :] = 0.0    aug[:, f_start:f_start + mask_width] = 0.0    return aug  if __name__ == "__main__":    sr = 16000    x = generate_tone(freq=220.0, duration=1.0, sr=sr)    x_noisy = add_noise(x, snr_db=15.0)    x_fast = time_stretch(x, rate=1.3)    x_pitch = pitch_shift_simple(x, semitones=3.0)    x_room = add_reverb(x, ir_len=512, decay=0.6)    spec = np.abs(np.fft.rfft(x)[:256]).reshape(16, 16)    spec_aug = apply_spec_augment(spec, mask_width=2)    print("原始长度:", len(x))    print("加噪后SNR约15dB: 长度", len(x_noisy))    print("变速1.3倍后长度:", len(x_fast))    print("变调3个半音后长度:", len(x_pitch))    print("混响后长度:", len(x_room))    print("SpecAugment后频谱非零块数:", np.count_nonzero(spec_aug))
目的:用合成信号演示音频增强的四个核心操作——加噪、变速、变调、混响,以及简化的 SpecAugment 频谱遮挡。
  1. target_power = signal_power / (10 ** (snr_db / 10))根据目标 SNR 反推出噪声应达到的功率。
  2. noise = noise * np.sqrt(target_power / noise_power)缩放噪声,使混合后的 SNR 精确达到设定值。
  3. new_indices = np.linspace(0, len(wave) - 1, new_len)生成变速后的采样时间点。
  4. return np.interp(new_indices, old_indices, wave)用线性插值计算新时间点上的波形,完成变速。
  5. ir[0] = 1.0保证卷积结果包含原声直达声,脉冲响应第一点设为 1。
  6. np.convolve(wave, ir)[: len(wave)]将语音与房间脉冲响应卷积,并截断到原长度,模拟混响。
  7. aug[t_start:t_start + mask_width, :] = 0.0在时间轴上随机遮住一个矩形区域,实现时间掩码。

常见误区

误区把信噪比调到 0dB,甚至让噪声盖过人声,模型肯定能在极吵的环境里工作。我当时觉得“增强嘛,就是要把难度拉满”。

正解过低的 SNR 会破坏语音可懂度,模型学到的可能是“纯噪声模式”而不是语音特征,识别率反而暴跌。增强应模拟真实噪声范围(常见 5~20dB),并确保内容仍能听清。就像菜市场训练也不能把摊主的声音完全盖住,否则小听听到的全是叫卖声。

为何常见:看到“噪声增强”就以为强度越高越有效,忽略了训练信号中必须保留语义信息。

误区语速和音调变了,文本内容不也可能变吗?所以增强后的样本不能用于训练,标签就不对了。

正解变速变调不改变说话内容,只要在合理范围内(如 0.8~1.3 倍速、±3 个半音),语义标签保持不变。好比同一个人快速说“你好”,内容还是“你好”。只有极端拉伸才会导致听不清,那不属于标准增强范围。

为何常见:混淆了声学变化与语言变化,其实变速变调只影响声学特征,不触及语言学内容。

误区SpecAugment 也是让输入变难,那它跟加噪增强是不是一回事?我在初学时经常混为一谈。

正解SpecAugment 是在频域“抹去”信息,而不是“叠加”信息,它本质上是一种正则化,强迫模型利用上下文补全缺失片段。加噪是叠加外部噪声信号;SpecAugment 是遮盖内部频谱。就像一个是把菜市场吵声混进来,另一个是捂住耳朵听关键信息。

为何常见:两者都让识别变难,但操作域和机制不同,容易混淆。

误区给音频后面加几个延迟的副本,不就是混响吗?我之前写 Demo 时就这么干的。

正解真实房间混响是无数反射叠加,需要 RIR 卷积才能建模直达声、早期反射和后期混响尾巴。简单回声会引入不自然的“金属声”,与真实房间差别很大。只有用卷积把真实或合成的脉冲响应“印”到语音上,才更像真实空间。

为何常见:把混响简化成单个延迟,忽略了“房间脉冲响应”这个关键概念。

误区增强就是造数据,造得越多越好,不用专门评估效果。反正每次训练都会用。

正解过度增强会让训练分布偏离真实场景,甚至让模型学会去适配“增强伪影”,比如把混响算法的人工感当成真实回声。需要同时用信号质量指标(SNR、STOI、PESQ)和下游任务指标(WER)来把关。

为何常见:只看到数量红利,忽略了数据分布与任务目标的一致性,最后导致“练了很多,真实场景却更差”。

面试题

Q1. 音频数据增强的首要目标是?

单选题 · easy

  • A.增加音频文件大小
  • B.提升模型的泛化鲁棒性← 正确答案
  • C.降低音频采样率
  • D.让音频听起来更好听

答案:B。增强通过模拟真实环境让模型适应分布变化,核心目标是泛化鲁棒性,而不是文件大小、采样率或听感优化。

Q2. 信噪比 SNR 的单位是什么?

单选题 · easy

  • A.赫兹 Hz
  • B.分贝 dB← 正确答案
  • C.比特 bit
  • D.毫瓦 dBm

答案:B。SNR 用 $10\log_{10}(P_s/P_n)$ 表示,单位是分贝(dB)。Hz 是频率单位,bit 是信息量单位,dBm 是功率的绝对单位。

Q3. 在加噪增强中,SNR=10dB 表示什么?

单选题 · mid

  • A.信号功率是噪声功率的 10 倍← 正确答案
  • B.噪声功率是信号功率的 10 倍
  • C.信号功率比噪声功率高 10 倍
  • D.噪声功率比信号功率高 10 倍

答案:A。SNR 公式为 $10\log_{10}(P_s/P_n)=10$,则 $P_s/P_n=10$,即信号功率是噪声功率的 10 倍。C 选项的表述容易混淆“高 10 倍”和“是 10 倍”。

Q4. “变速不变调”指的是?

单选题 · easy

  • A.同时改变音高和时长
  • B.改变时长但音高不变← 正确答案
  • C.改变音高但时长不变
  • D.只改变响度不改变波形

答案:B。变速(time stretch)改变时长而保持音高;变调(pitch shift)改变音高而保持时长。题目强调“变速不变调”,即只改变时长。

Q5. 关于 SpecAugment,下列说法正确的是?

多选题 · mid

  • A.在时间和频率维度上随机遮挡← 正确答案
  • B.需要额外的噪声音频库
  • C.是一种正则化技术← 正确答案
  • D.会改变语音的内容标签

答案:AC。SpecAugment 在频谱图上做时间/频率掩码,不需要噪声库,不改变标签,可看作数据增强正则化。B、D 错误。

Q6. 用房间脉冲响应做混响增强时,核心运算是什么?

单选题 · hard

  • A.傅里叶变换
  • B.卷积运算← 正确答案
  • C.互相关计算
  • D.线性插值

答案:B。混响建模是 $y(t)=\int x(\tau)h(t-\tau)d\tau$,属于卷积。傅里叶变换是工具,互相关用于匹配,插值用于变速。

Q7. 下列哪些指标可用于评估增强语音的感知质量或可懂度?

多选题 · mid

  • A.PESQ← 正确答案
  • B.STOI← 正确答案
  • C.WER← 正确答案
  • D.SNR

答案:ABC。PESQ 是感知语音质量评分,STOI 是短时客观可懂度,WER 是下游识别词错误率,三者都能反映增强是否有效。SNR 仅描述信号能量比,不直接度量可懂度。

Q8. 在线增强相比离线增强的主要优势是?

单选题 · hard

  • A.一次性看到全部增强样本
  • B.节省硬盘空间同时样本更多样← 正确答案
  • C.不需要设置随机种子
  • D.不增加训练计算开销

答案:B。在线增强在训练时实时生成,无需存储大量增强后文件,每个 epoch 都可采样新的随机组合,多样性更好。离线增强会占用存储,在线增强会增加计算开销。

Q9. 下列哪种增强操作最容易破坏语音的语义内容?

单选题 · mid

  • A.叠加 5dB 的轻微噪声
  • B.频谱遮挡宽度为 2 帧
  • C.变速 5 倍← 正确答案
  • D.混响时间 0.5 秒

答案:C。变速 5 倍会把正常语速压成难以辨认的快速音,语义可懂度急剧下降。轻微噪声、较小频谱遮挡和常见混响一般不改变语义。

Q10. 关于音频增强的工程实践,正确的有?

多选题 · extreme

  • A.增强后数据通常与原始数据混合使用← 正确答案
  • B.组合增强时需要控制每项强度← 正确答案
  • C.SpecAugment 可替代混响模拟
  • D.增强流程应保持标签不变← 正确答案

答案:ABD。增强数据通常与原始数据混合以平衡分布;组合增强时强度过大会破坏语义;SpecAugment 是频域遮挡,无法替代 RIR 卷积混响;任何增强都应保持标签不变。