你有没有接过这样的电话?对方的声音像隔着一层厚棉被,每个字都“闷闷的”,尾音、气息、齿音全部消失,只能勉强听清内容。这就像拿到一张只有轮廓、模糊不清的老照片——五官能辨认,但衣服纹理、发丝细节、皮肤质感全都丢了。窄带电话音(300~3400Hz),正是声音世界里的“模糊老照片”。 而带宽扩展(Bandwidth Extension)这项技术,做的就是“老照片修复师”的工作:它把电话里那段窄带声音,通过 AI“脑补”出丢失的高频细节(齿音、气息、环境泛音),让声音从“隔着棉被”变成“面对面说话”。就像修复师根据轮廓光影推断出织物纹理一样,AI 根据低频信息推断出高频成分。 这篇文章会带你像看纪录片一样,从“为什么电话音闷”讲起,一步步看到 AI 如何重建高频、如何用生成对抗网络伪造细节、如何设计损失函数让“修复”更自然,以及如何让算法在真实电话线上实时跑起来。全程不需要任何 AI 背景,只要你有“修老照片”的直觉,就能看懂这一切。

岗位关联

对 AI 从业者而言,带宽扩展是语音超分辨率在工业界最成熟的落地方向之一,掌握它能直接赋能 VoIP 通话增强、呼叫中心质检、广播修复等场景,是语音增强领域的实用硬技能。

目录
  1. 可视化演示
  2. 带宽基础认知
  3. 高低频重建
  4. 生成式补偿
  5. 损失函数设计
  6. 实时部署优化
  7. 数据退化建模
  8. 评测与落地
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示去混响技术如何从带混响的语音中提取清晰语音,对比波形差异与频谱变化,并可视化WPE算法流程。

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

混响与去混响波形对比 上方为带混响语音,下方为去混响后的清晰语音 y(t)=x(t)*h(t) 混响是房间冲激响应与语音的卷积

带宽基础认知

修老照片时,你拿到一张早年拍的合影,只有 320 像素宽,人脸放大后全是马赛克。这不是相机不好,而是当年的设备只记录了这个分辨率,再想还原细节,只能靠“猜”。打电话时听到的“闷闷的声音”同理:传统电话网(PSTN)在设计时为了省带宽,只保留 300~3400Hz 的人声核心频段,把齿音、气息这些“细节像素”全都扔掉了。你隔着电话听到的,其实是一张“低分辨率”的声音老照片。

声音的“细节”恰恰集中在高频。所谓带宽,就是一段声音信号允许通过的频率范围。窄带(Narrowband)约 300~3400Hz,听感像蒙了被子;宽带(Wideband)约 50~7000Hz,是现代 VoIP 通话常见的规格;超宽带(Super-wideband)延伸到 14000Hz 左右,接近 CD 音质。之所以有这些档位,根源在于数字音频的采样定理:采样率决定了频带的天花板。

数字音频里,每秒对声音采样的次数叫采样率 \( F_s \),理论上能记录的最高频率是 \( F_s / 2 \),这个上限称为奈奎斯特频率。电话系统用 8000Hz 采样,所以频带上限是 4000Hz,再往上的高频信息从源头就丢失了。带宽扩展的第一步,正是先认清“老照片丢了哪些细节”,明确边界后,才知道修复工作要从哪里开始。

这就是为什么电话音“闷”:天花板从源头就压在了 4kHz,高频细节从未被记录下来。带宽扩展要做的,就是把这张低分辨率的声音“老照片”,放大并补出高清细节。

fmax=Fs2\displaystyle f_{\text{max}} = \frac{F_s}{2}
奈奎斯特频率等于采样率的一半,它像一堵“玻璃天花板”:高于它的频率根本无法被记录,想还原只能靠推测。
  1. 奈奎斯特频率 \( f_{\text{max}} \)系统能记录的最高频率,超过它就会发生混叠,听起来像“失真变调”。
    fmaxf_{\text{max}}
  2. 采样率 \( F_s \)每秒对模拟声音信号采样的次数,单位是赫兹,电话系统通常取 8000。
    FsF_s
  3. 除以 2每个周期至少采两个点才能还原出完整波形,所以上限天然减半。
    Fs2\frac{F_s}{2}

高低频重建

修复老照片的第一步是放大(上采样)。放大后像素变粗,于是修复师根据脸部轮廓的走向,先补出大块的光影过渡,再勾勒发丝和纹理。经典带宽扩展也是这个思路,分两条线走:先画“轮廓”,再补“纹理”。

第一步是框架搭建:把 8kHz 采样率(4kHz 带宽)的窄带信号上采样成 16kHz 采样率,此时 4~8kHz 的频谱区域是空的,等待填充。第二步是谱包络估计:根据低频部分的共振峰形状,外推出高频区域的频谱包络——这相当于先画出脸部的高光与阴影轮廓。第三步是激励信号生成:从窄带信号中提取声带振动或气息噪声的“残差信息”,经过非线性变换或频率翻折,生成高频激励——这相当于准备织毛衣用的线团纹理。

两条线在频域汇合:激励信号(纹理)乘以包络(轮廓),得到完整的高频频谱,再与原始窄带频谱拼接,就得到带宽扩展后的宽带信号。

这种“包络+激励”方法能快速补出形态合理的高频,但有个天花板:真实高频细节千变万化,固定的纹理模板总带着一股“塑料味”——就像修复师只会用同一种笔触画所有衣服,看着像,但经不起细看。

Shigh(f)=E(f)×H(f)\displaystyle S_{\text{high}}(f) = E(f) \times H(f)
高频频谱等于激励信号乘谱包络:包络决定“形状像不像”,激励决定“质感真不真”。
  1. 高频频谱 \( S_{\text{high}}(f) \)频率高于 4kHz 的目标频谱,是带宽扩展要重建的对象。
    Shigh(f)S_{\text{high}}(f)
  2. 激励信号 \( E(f) \)代表声带振动或气流噪声的“纹理源”,决定声音是清亮还是沙哑。
    E(f)E(f)
  3. 谱包络 \( H(f) \)描述声道共振峰形状的“轮廓”,由窄带低频包络外推而来。
    H(f)H(f)
  4. 乘法关系纹理乘轮廓,相当于给每一条纹理线套上明暗轮廓框,得到有质感又不失形状的高频频谱。

生成式补偿

为了让修补的细节“以假乱真”,修复团队引入了一对好搭档:画师与鉴定师。画师负责把照片缺失的细节画出来,鉴定师负责判断“这是原图还是画的”。画师不想被鉴定师识破,于是越画越精细;鉴定师为了不被骗,也越来越挑剔。两人互相较劲,最后画出来的细节连鉴定师都难辨真假——这就是生成对抗网络(GAN)的工作方式。

在带宽扩展里,生成器扮演画师,输入窄带语音的特征,输出高频频谱。判别器扮演鉴定师,接收“真实宽带语音的高频部分”或“生成器伪造的高频部分”,输出一个真假概率。训练时两人轮流升级:判别器努力分辨真假,生成器努力骗过判别器。最终,生成器学会产生统计规律上与真实高频几乎无法区分的高频细节。

这种做法的优势在于,生成器不再依赖固定的“纹理模板”,而是学会了高频信号的复杂分布——同一句话在不同情绪下,补出的高频细节也不同。

画师和鉴定师斗到最后,补出的细节连行家都难辨真假。但 GAN 也有脾气:训练不稳定时,生成器会“魔怔”——画出人耳很敏感的金属声伪影。所以,光靠对抗还不够,还需要一套多维评分表来约束它好好工作。

min⁡Gmax⁡DEx∼pdata[log⁡D(x)]+Ez∼pz[log⁡(1−D(G(z)))]\displaystyle \min_{G} \max_{D} \mathbb{E}_{x \sim p_{\text{data}}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[\log(1 - D(G(z)))]
生成器想最小化这个值,判别器想最大化它,两人较劲的结果是:生成的高频越来越像真的。
  1. 生成器 \( G \) 与判别器 \( D \)画师与鉴定师的数学化身,一个负责造细节,一个负责辨真假。
    G,DG, D
  2. \( \mathbb{E}[\log D(x)] \) 真实样本项真实高频 \( x \) 喂给判别器,判别器要把真实样本判为真,概率越接近 1,这项越接近 0。
    Ex∼pdata[log⁡D(x)]\mathbb{E}_{x \sim p_{\text{data}}}[\log D(x)]
  3. \( \mathbb{E}[\log(1 - D(G(z)))] \) 伪造样本项生成器 \( G \) 从噪声 \( z \) 造出高频,判别器要让它判为假,生成器则想让它判为真,二者针锋相对。
    Ez∼pz[log⁡(1−D(G(z)))]\mathbb{E}_{z \sim p_z}[\log(1 - D(G(z)))]

损失函数设计

鉴定师不能只看“像不像”这一条标准。修照片还要看三重维度:亮度跟原图对不对得上(时域)、纹理分布自不自然(频域)、人眼看着舒不舒服(感知)。带宽扩展的损失函数设计,正是把这套多维评分表数学化。

时域损失(通常用 L1 或 L2)把生成的高频波形和真实高频波形逐点相减,保证整体幅值不跑偏——就像比对照片每个像素的亮度值。频域损失计算生成频谱与真实频谱的幅值距离,让频谱包络形状贴合——就像检查纹理的能量分布是否均匀。感知损失把生成结果和真实结果都送入一个预训练神经网络(如 VGG),在网络的高层特征空间计算距离——就像请一位资深摄影师凭直觉评价“氛围对不对”。

最终总损失是三者加权求和,权重 \( \lambda \) 靠主观听感实验标定。

多维评分表让生成器“守规矩”:时域保幅、频域保形、感知保味。但有了好的模型还不够——修复师再厉害,也得在客户要求的时限内交活。下一节,我们看如何让这位修复师在电话线上“边收边修”。

L=λ1Ltime(y,y^)+λ2Lspec(y,y^)+λ3Lpercep(y,y^)\displaystyle L = \lambda_1 L_{\text{time}}(y, \hat{y}) + \lambda_2 L_{\text{spec}}(y, \hat{y}) + \lambda_3 L_{\text{percep}}(y, \hat{y})
总损失是时域、频域、感知三项损失的加权和,每项负责一个“评分维度”。
  1. 生成结果 \( \hat{y} \)模型输出的宽带预测,与真实宽带 \( y \) 进行比对。
    y^\hat{y}
  2. \( \lambda_1 L_{\text{time}} \) 时域损失项逐采样点比对波形幅度,约束整体的响度与能量。
    λ1Ltime(y,y^)\lambda_1 L_{\text{time}}(y, \hat{y})
  3. \( \lambda_2 L_{\text{spec}} \) 频域损失项比对频谱幅值,约束高频包络形状的自然度。
    λ2Lspec(y,y^)\lambda_2 L_{\text{spec}}(y, \hat{y})
  4. \( \lambda_3 L_{\text{percep}} \) 感知损失项在预训练网络特征空间比对,约束主观听感的自然度。
    λ3Lpercep(y,y^)\lambda_3 L_{\text{percep}}(y, \hat{y})

实时部署优化

想象一位修复老照片的大师,手艺极好,但修一张照片要三小时,客户早就等得不耐烦了。电话线上更苛刻:一帧语音的典型时长是 20ms,算法必须在下一帧数据到达前处理完当前帧,否则通话就会卡顿。这就是实时部署的硬约束。

要让带宽扩展算法实时跑起来,有三板斧。第一斧是模型轻量化:用深度可分离卷积替换标准卷积、做通道剪枝、量化到 8bit,把参数量和乘加运算量压缩一个数量级以上——相当于给修复师换上一套更轻便顺手的工具。第二斧是流式处理:模型不能“偷看”未来帧,要用因果卷积和缓存的历史状态逐帧预测,相当于修复师边看边修,不等整卷照片冲印出来。第三斧是算力预算:在目标设备(手机、网关芯片)上实测每秒乘加运算数(MACs),确保低于硬件算力上限。

轻量化让模型“轻装上阵”,流式处理让它“不等未来”,算力预算则保证它“跑得动”。不过,模型练得好不好,还取决于喂给它的训练数据像不像真实的电话音。下一节,我们看如何制造“模糊老照片”来喂饱修复师。

C=M×FsT\displaystyle C = \frac{M \times F_s}{T}
每秒总运算量等于单帧运算量乘每秒帧数,必须低于设备算力上限才能实时。
  1. 总算力需求 \( C \)每秒需要完成的乘加运算次数,单位 MACs/s,决定设备选型。
    CC
  2. 单帧运算量 \( M \)模型处理一帧语音(如 20ms)所需的乘加次数。
    MM
  3. 每秒帧数 \( F_s / T \)采样率除以帧窗长,16kHz 采样与 20ms 帧对应每秒 50 帧。
    FsT\frac{F_s}{T}

数据退化建模

修复师要练就“看到模糊就脑补细节”的本事,前提是看过海量“模糊照 + 高清照”的配对样本。可现实中,同一句话的窄带版和宽带版成对录音极难获取——总不能逼着每个用户同时打一个宽带电话和窄带电话。怎么办?自己动手把宽带音频“弄糊”。

数据退化建模,就是手工制造“模糊照片”的流水线。先把 16kHz 采样的宽带语音做低通滤波,滤掉 4kHz 以上成分,再降采样到 8kHz——这一步模拟电话网的带宽限制。接着把结果送入电话编解码器仿真模块(如 G.711),模拟有损压缩带来的频谱损伤。最后叠加背景噪声、房间混响等干扰,让模型在真实环境里也稳得住。

这样,每一条宽带语音都可以派生出成百上千条不同“糊法”的窄带样本,训练数据的丰富度大幅提升。

人工造“模糊照片”喂饱修复师后,模型在真实电话线上自然更有底气。但“修得好不好”不能靠手感,得用统一的尺子量。最后一节,我们看看怎么给修复成果打分、怎么落地赚钱。

ynarrow=Codec(Lowpass4kHz(xwide))+n\displaystyle y_{\text{narrow}} = \text{Codec}\left( \text{Lowpass}_{4\text{kHz}}(x_{\text{wide}}) \right) + n
窄带退化语音 = 低通滤波 → 编解码压缩 → 叠加噪声,三个环节模拟出真实电话链路。
  1. 低通滤波 \( \text{Lowpass}_{4\text{kHz}}(x_{\text{wide}}) \)把宽带信号中高于 4kHz 的成分全部滤除,保持低频部分不变。
    Lowpass4kHz(xwide)\text{Lowpass}_{4\text{kHz}}(x_{\text{wide}})
  2. 编解码器 \( \text{Codec}(\cdot) \)模拟 G.711 等电话编解码的有损压缩,加入量化噪声与频谱畸变。
    Codec(⋅)\text{Codec}(\cdot)
  3. 背景噪声 \( n \)模拟线路噪声或环境声,增强模型的鲁棒性。
    nn
  4. 窄带输出 \( y_{\text{narrow}} \)退化后的窄带语音,与原始宽带组成“模糊照 + 高清照”训练对。
    ynarrowy_{\text{narrow}}

评测与落地

修复师手艺好不好,不能只靠自己说。得把作品挂出来,让客户盲测:“这两张图,一张原图一张修复图,你觉得哪个更自然?”同时还要有量化标尺:清晰度提升多少、色彩偏差多少分。带宽扩展的评测,正是这样“客观 + 主观”双轨并行。

客观指标中,PESQ(语音质量感知评估)是工业界使用最广的标尺,它模拟人耳的感知模型,对语音打出一个 1 到 4.5 的分数。DNSMOS、STOI 等指标则从不同角度衡量可懂度与自然度。主观评测则邀请听音人做 AB 盲测,不告诉哪条是修复后的,只问“哪条更好听”,统计偏好率。

在呼叫中心实战中,把窄带客服录音重建为宽带后,ASR 识别字错率可下降 10%~20%,质检系统也能更准确捕捉“道歉”“不满”等情绪词。

修复效果最终要用分数和耳朵双重验收。从认清窄带边界,到包络与激励重建,再到 GAN 对抗补细节、多维损失守质量、实时部署保流畅、退化建模喂数据——这条链路环环相扣,正是把“电话音”变成“高清语音”的完整旅程。

ΔPESQ=PESQ(y^)−PESQ(ynarrow)\displaystyle \Delta \text{PESQ} = \text{PESQ}(\hat{y}) - \text{PESQ}(y_{\text{narrow}})
PESQ 差分 = 修复后得分减修复前得分,正值越大,说明客观音质增益越明显。
  1. 修复后得分 \( \text{PESQ}(\hat{y}) \)带宽扩展输出的宽带语音在感知模型下的质量分。
    PESQ(y^)\text{PESQ}(\hat{y})
  2. 原始窄带得分 \( \text{PESQ}(y_{\text{narrow}}) \)原始电话音在同一标尺下的基线分。
    PESQ(ynarrow)\text{PESQ}(y_{\text{narrow}})
  3. 差值 \( \Delta \text{PESQ} \)两者的差,代表带宽扩展带来的客观质量增益。
    ΔPESQ\Delta \text{PESQ}

AI 应用场景

VoIP 实时通话增强

阶段:实时推理与部署

解决的问题:VoIP 通话常因网络带宽不足回退到窄带编码,双方声音“闷罐子”。传统方案单纯提高码率会卡顿,AI 带宽扩展则在接收端把 8kHz 窄带实时重建成 16kHz 宽带,不动网络也能让声音“透亮”。

具体案例:某跨国会议软件在低带宽模式下调用了带宽扩展模块,用户在窄带链路上听到的语音从“隔着被子说话”变成“面对面交谈”,通话满意度提升明显。

呼叫中心录音质检

阶段:离线后处理

解决的问题:历史客服录音大量为窄带,质检系统做情绪识别时因高频信息缺失而判断不准。对录音先做带宽扩展再送 ASR 和情感分析,能让高频细节回归,识别准确率显著提升。

具体案例:某银行呼叫中心对百万级历史录音做带宽扩展,ASR 字错率降低约 15%,质检系统能更准确识别“道歉”“不满”等情绪词,服务质量评估更客观。

广播与流媒体老音频修复

阶段:离线增强

解决的问题:老广播节目、老电影配音只有窄带转录,直接上线流媒体平台听感粗糙。带宽扩展配合降噪,把“声音老照片”修复成高清素材,延长内容资产的生命周期。

具体案例:某有声书平台用带宽扩展修复上世纪经典广播剧,听众反馈“像换了新设备重新录制”,修复后的节目播放完成率提高约 20%。

Python 演示

python54 行
import torchimport torch.nn as nn  class BandwidthExtender(nn.Module):    # 轻量带宽扩展网络: 输入窄带频谱, 输出高频频谱    def __init__(self, n_fft=512):        super().__init__()        self.n_fft = n_fft        self.nb_bins = n_fft // 4 + 1        self.hb_bins = n_fft // 2 + 1 - self.nb_bins        self.fc = nn.Sequential(            nn.Linear(self.nb_bins, 256),            nn.ReLU(),            nn.Linear(256, self.hb_bins),        )     def forward(self, x):        # x: [batch, nb_bins] 窄带幅度谱        return self.fc(x)  def train_step(model, opt, loss_fn, narrow, wide_hb):    opt.zero_grad()    pred_hb = model(narrow)    loss = loss_fn(pred_hb, wide_hb)    loss.backward()    opt.step()    return loss.item()  def main():    torch.manual_seed(0)    model = BandwidthExtender()    opt = torch.optim.Adam(model.parameters(), lr=1e-3)    loss_fn = nn.L1Loss()     # 模拟训练: 用随机频谱当数据, 演示训练流程    for epoch in range(100):        narrow = torch.rand(8, model.nb_bins)        wide_hb = torch.rand(8, model.hb_bins) * 0.5        loss = train_step(model, opt, loss_fn, narrow, wide_hb)        if epoch % 20 == 0:            print(f"epoch {epoch}, loss {loss:.4f}")     # 推理: 输入窄带幅度谱, 生成高频幅度谱    test_input = torch.rand(1, model.nb_bins)    with torch.no_grad():        hb = model(test_input)    print(f"输入窄带: {test_input.shape}, 生成高频: {hb.shape}")  if __name__ == "__main__":    main()
目的:用 PyTorch 实现一个极简的带宽扩展网络,演示“窄带幅度谱 → 高频幅度谱”的训练与推理流程。
  1. self.nb_bins = n_fft // 4 + 1计算 0~4kHz 窄带频谱的频点个数,作为网络输入维度。
  2. self.hb_bins = n_fft // 2 + 1 - self.nb_bins计算 4~8kHz 高频频点个数,作为网络输出维度。
  3. self.fc = nn.Sequential(...)用两层全连接网络“脑补”高频频谱,是模型的参数量主力。
  4. def forward(self, x)前向推理入口:输入窄带幅度谱,输出预测的高频幅度谱。
  5. loss_fn = nn.L1Loss()L1 损失逐频点比对,误差不会因个别大偏差被过度放大,适合频谱回归。
  6. pred_hb = model(narrow)生成器一次前向,得到高频预测。
  7. loss.backward()反向传播,更新网络权重。
  8. hb = model(test_input)推理模式静默运行,输出最终高频频谱。

常见误区

误区很多人以为把 0~4kHz 的频谱对称翻到 4~8kHz 就能得到宽带语音,翻过去就能听,代码也就几行的事。

正解频率翻折只是早期激励信号生成的一种手段,真实高频不是简单的镜像,直接翻折会产生大量不自然的“金属声”。现代方法会用谱包络整形、生成式补偿来修正。就像老照片放大后不能只靠“镜像翻转”补出衣服褶皱,得按光影规律重新画。

为何常见:频谱翻折实现简单、效果立竿见影,容易让人误以为带宽扩展的全部奥秘就在这里。

误区有人觉得把输出采样率设成 48kHz、96kHz,带宽扩展的效果就会更“高清”,听起来更高级。

正解带宽扩展的上限取决于输入信息量和模型能力。电话窄带只含 4kHz 以下信息,强行扩展到 48kHz 只是“画”出一堆无中生有的高频,既增加算力又容易引入伪影。就像把低分辨率照片强行放大到 8K,只会看到更多马赛克。

为何常见:人们习惯“分辨率越高越清晰”的直觉,忽略了信息源头的物理限制。

误区觉得用了生成对抗网络,高频细节就会自然逼真,效果一定比传统方法好。

正解GAN 训练不稳定,容易产生人耳敏感的“金属声”伪影,必须配合时域、频域、感知等多维损失约束。判别器只是“参谋”,不是“评分委员会”的全部。就像画师天赋再高,没有基本功训练,画出来的细节也会走形。

为何常见:GAN 在图像生成上名声很大,移植到音频后大家容易忽略音频对时频结构更敏感的问题。

误区以为把时域、频域、感知损失加起来就完事,权重设成 1:1:1 也能用,反正都是损失。

正解三个损失的数值尺度可能差几个数量级,权重直接影响“保真 vs 自然”的平衡。通常要结合主观 AB 测试反复标定,才能让模型既不失真又不沉闷。

为何常见:多目标损失看起来“加一起就完事”,实际隐藏着量纲和尺度差异的大坑。

误区认为实时部署只需把 PyTorch 模型转成 ONNX 或 TFLite,放到手机上就能跑,剩下的都是编译器的事。

正解实时性的真正瓶颈常在于“非因果操作”。带宽扩展必须用流式处理,把依赖未来帧的模块改成因果卷积 + 历史缓存,否则延迟会超过 20ms 帧预算。就像修复师必须边看边画,不能等客户把整卷照片都冲印好再开工。

为何常见:部署教程多讲模型转换与量化,很少讲流式约束,初学者容易忽略“实时”二字的核心含义。

面试题

Q1. 窄带电话语音的典型频带范围是?

单选题 · easy

  • A.0~20kHz
  • B.300~3400Hz← 正确答案
  • C.50~7kHz
  • D.0~48kHz

答案:B。窄带是传统电话网为节省带宽而设计的频段,只保留 300~3400Hz 以保证人声可懂。50~7kHz 属于宽带范围,0~48kHz 是专业音频采样范围。答案是 B。

Q2. 8kHz 采样率对应的奈奎斯特频率是?

单选题 · easy

  • A.4kHz← 正确答案
  • B.8kHz
  • C.16kHz
  • D.3.4kHz

答案:A。采样率的一半是奈奎斯特频率,8kHz 采样对应 4kHz 上限,超过该频率的信号无法被采样还原。3.4kHz 是电话实际使用的频带上限,但不是奈奎斯特频率。答案是 A。

Q3. 以下哪些属于传统带宽扩展的核心步骤?

多选题 · mid

  • A.谱包络估计← 正确答案
  • B.激励信号生成← 正确答案
  • C.GAN 判别器训练
  • D.上采样后高频补零

答案:AB。传统法(如翻谱法)的核心是“包络 + 激励”两步:先估计高频谱包络当轮廓,再生成激励信号当纹理。C 是生成式方法,D 只是准备工作中的一环。答案是 A、B。

Q4. 生成对抗网络中,生成器的训练目标是?

单选题 · mid

  • A.让判别器输出最大
  • B.让判别器无法区分真假← 正确答案
  • C.让真实样本的判别概率为 0
  • D.最小化时域 L1 损失

答案:B。生成器希望伪造样本被判别器判为真,即“骗过鉴定师”。L1 损失是额外的保真约束,不属于 GAN 对抗目标本身。答案是 B。

Q5. 带宽扩展中,感知损失的作用是?

单选题 · mid

  • A.直接比较波形采样点
  • B.用预训练特征约束听感← 正确答案
  • C.计算频谱能量的平方误差
  • D.计算人耳响度曲线

答案:B。感知损失把生成结果和真实结果送入预训练网络,在高维特征空间约束“听感自然”。时域损失逐点比对波形,频域损失计算谱距离,两者与感知损失各有分工。答案是 B。

Q6. 语音实时处理中,一帧语音的典型时长是?

单选题 · mid

  • A.2ms
  • B.20ms← 正确答案
  • C.200ms
  • D.2s

答案:B。语音编码与增强的短帧通常为 20ms,算法必须在下一帧到达前的 20ms 内完成处理,这是实时硬预算。200ms 已产生可感知延迟,2ms 又过于激进。答案是 B。

Q7. 下列哪些是带宽扩展实时部署的常见优化手段?

多选题 · hard

  • A.模型轻量化← 正确答案
  • B.用双向 RNN 提升全局特征
  • C.流式因果卷积← 正确答案
  • D.缓存历史状态减少重复计算← 正确答案

答案:ACD。实时性要求“不看未来帧”,双向 RNN 依赖全句信息,会引入不可接受的延迟,B 错。轻量化减算力,因果卷积保证流式,缓存状态避免重复计算,都是常见手段。答案是 A、C、D。

Q8. 将宽带 16kHz 信号变成窄带 8kHz 信号的正确过程是?

单选题 · hard

  • A.直接每隔一个采样点删除
  • B.先低通滤波再降采样← 正确答案
  • C.先升采样再低通滤波
  • D.直接做傅里叶变换后截断

答案:B。直接删采样点会导致高频折叠进低频,产生混叠失真。必须先低通滤掉 4kHz 以上成分再降采样,才符合奈奎斯特定理。答案是 B。

Q9. 下列哪个不是带宽扩展的客观评测指标?

单选题 · easy

  • A.PESQ
  • B.DNSMOS
  • C.AB 盲测偏好率← 正确答案
  • D.STOI

答案:C。AB 盲测由听音人主观判断哪条更好听,属于主观评测。PESQ、DNSMOS、STOI 都是可自动计算的客观指标。答案是 C。

Q10. 关于带宽扩展的损失函数设计,下列说法正确的是?

多选题 · hard

  • A.时域损失保证波形幅度接近← 正确答案
  • B.频域损失有助于频谱包络贴合← 正确答案
  • C.感知损失改善主观听感自然度← 正确答案
  • D.三类损失的权重通常固定为相同值

答案:ABC。三类损失各自约束不同维度:时域保幅、频域保形、感知保味。但权重需根据主观 AB 测试标定,各损失量级差异巨大,固定相同值会导致单项主导,D 错。答案是 A、B、C。