想象一下:一台被蒙住眼睛的机器人“小听”被派去侦察一栋陌生的房子。眼前一片漆黑,手里没有任何地图,它唯一的武器就是耳朵。推开门的一瞬间,它听到嘈杂的人声、碗筷碰撞和轻柔的背景音乐——它几乎立刻断定:“这是一家餐厅。”紧接着,有人从它的左前方喊了一声“服务员”,它又本能地判断出声音大约来自 35 度方向。先判断“我在哪类环境”,再判断“声音从哪个方向来”,这两步合起来,就是本文的主角——声音场景识别与声源定位。前者回答“这是什么地方”,后者回答“声音在哪儿”,两者结合,让机器获得完整的空间听觉能力。接下来,我们就跟着小听的冒险,看看它的“电子耳”是如何一步步进化出来的:从整理声音指纹(特征提取),到训练判断大脑(分类模型),再到借双耳与阵列捕捉空间线索(定位原理),最后在嘈杂世界里站稳脚跟(鲁棒性),走向真实应用。

岗位关联

声音场景识别与定位是智能设备“听觉感知”的基石。掌握它,你就能为音箱、机器人、安防系统装上真正的耳朵,成为 AI 音频领域拥有稀缺空间听觉技能的从业者,直接提升语音产品竞争力。

目录
  1. 可视化演示
  2. 场景识别概述
  3. 特征提取方法
  4. 场景分类模型
  5. 声源定位原理
  6. 空间声学特征
  7. 鲁棒性挑战
  8. 融合与应用
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

演示音频特征提取、场景分类与声源空间定位,直观展示智能设备如何通过听觉感知环境与声音方位。

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

特征提取 Mel频谱 MFCC 从音频信号提取时频特征

场景识别概述

小听是一台摄像头坏掉的巡检机器人。第一次出任务,它被丢进一栋陌生大楼,眼前一片漆黑,唯一的武器是耳朵。它屏住呼吸听了三秒:有餐具碰撞、人声嘈杂,还有背景音乐——“不用看也知道,我八成在餐厅。”这个“只听声音就判断出身在何处”的本领,就是声音场景识别(Acoustic Scene Classification,简称 ASC)。

技术地说,声音场景识别把一段音频映射到一个环境类别,比如餐厅、街道、办公室、森林。它和“语音识别”有本质区别:语音识别关心“谁说了什么字”,场景识别关心“这是什么地方”。类比人类,语音识别像是听清一句话的“内容”,场景识别则是用耳朵“环顾四周”感受氛围。餐厅里的一个“买单”,前者得到五个字,后者得到“餐厅”这张环境名片。

要完成识别,系统先把音频切分成短片段,为每段提取“声音指纹”(特征),再交给分类器判断。最终输出通常是一个概率分布:P(餐厅)=0.7,P(办公室)=0.2,P(街道)=0.1,取最大者作为结论。这个“取最大”的数学工具就是 softmax:

场景识别是设备听觉感知的“入口层”:它告诉系统“我在哪类环境”,后续的降噪、语音增强、声源定位策略都会据此调整。对小听而言,这一步好比盲人先摸清房间的“大致格局”,才有了行动的方向。没有它,耳朵收集到的只是一团混沌的声波。

P(c∣x)=exp⁡(zc)∑j=1Cexp⁡(zj)\displaystyle P(c \mid \mathbf{x}) = \frac{\exp(z_c)}{\sum_{j=1}^{C} \exp(z_j)}
softmax 把模型对各类别的“打分”转成和为 1 的概率,谁分高谁获胜。
  1. 得分 z_c模型对音频片段 x 属于类别 c 的原始打分,分数越高说明越像该类别。
    zc=wc⊤x+bc\displaystyle z_c = \mathbf{w}_c^\top \mathbf{x} + b_c
  2. 指数拉伸 exp对每个分数取指数,把可能的负数变成正数,同时拉大分数之间的差距。
    exp⁡(zc)\displaystyle \exp(z_c)
  3. 分母归一化把所有类别的指数值求和作为分母,使所有概率加起来恰好等于 1。
    ∑j=1Cexp⁡(zj)\displaystyle \sum_{j=1}^{C} \exp(z_j)
  4. 取最大概率逐一比较各类别概率,概率最大的那个类别就是系统的最终判断。
    c^=arg⁡max⁡c P(c∣x)\displaystyle \hat{c} = \arg\max_{c} \, P(c \mid \mathbf{x})

特征提取方法

判断环境之前,小听先要做一件小事:把耳朵里那团乱哄哄的声音,整理成一张可以反复观察的“声音指纹”。好比侦探拿到一段嘈杂录音,不会逐帧去听,而是先把声波画成图谱,从图谱里找规律。原始音频是随时间变化的波形,直接拿它做分类,就像用一团毛线去编织毛衣——无从下手。

工程师们的解法是“时频表示”:把声音切成一帧一帧,对每一帧做傅里叶变换,得到“哪个时刻有哪些频率分量”的二维图。横轴是时间,纵轴是频率,颜色深浅代表能量大小,这张图叫语谱图。餐厅的语谱图常有高频闪烁(刀叉碰撞),街道的语谱图则有低频轰鸣(车流),这些纹理就是判断场景的线索。

不过,人耳对频率的感知并不是线性的:对 1kHz 以下分辨得很细,对高频却越来越迟钝。为了让机器特征贴合真实听觉,研究者设计了梅尔刻度(Mel Scale)来模拟这种“低频敏感、高频粗心”的特性:

把梅尔刻度作用到语谱图上,就得到梅尔频谱;再取对数、做离散余弦变换,便得到经典的 MFCC(梅尔倒谱系数)。对小听来说,MFCC 就是最可靠的“指纹”——无论餐厅背景多吵,这张指纹都能稳定描述声音的“音色身份”。有了指纹,下一步就是让大脑去比对。

fmel=2595×log⁡10(1+f700)\displaystyle f_{\text{mel}} = 2595 \times \log_{10}\left(1 + \frac{f}{700}\right)
梅尔刻度把物理频率(Hz)映射成“人耳听感频率”(Mel),高频被压缩,低频被保留细节。
  1. 原始频率 f声音的物理频率,单位是 Hz,它决定了音高,也是公式的输入。
    f\displaystyle f
  2. 归一化与平移f 除以 700 后再加 1,把低频段“摊平”、为取对数做准备。
    1+f700\displaystyle 1 + \frac{f}{700}
  3. 取对数对数运算把高频部分的巨大差距压缩,模拟人耳对高频不敏感的特性。
    log⁡10(1+f700)\displaystyle \log_{10}\left(1 + \frac{f}{700}\right)
  4. 缩放系数乘以 2595,把结果映射到常用数值范围,便于后续计算。
    fmel=2595×log⁡10(1+f700)\displaystyle f_{\text{mel}} = 2595 \times \log_{10}\left(1 + \frac{f}{700}\right)

场景分类模型

指纹有了,还得有“大脑”。小听的大脑是一个看图专家:它把梅尔频谱图当作照片,用一层层滤镜扫描图里反复出现的纹理。这个“看图专家”就是卷积神经网络(CNN)。CNN 像一位拿着放大镜的画师,先看局部的小花纹(刀叉的高频闪烁),再看整体的构图(低频氛围),逐层拼出“这是餐厅”的结论。

在一张二维时频图上做卷积,本质上是用一个小尺寸的权重矩阵——卷积核——在图上滑动,每滑到一个位置就把对应像素逐点相乘再累加,得到一个数值。所有位置都算完后,形成一张新的“特征图”。它的数学形式如下:

CNN 学到的是“餐厅语谱图常有高频闪烁”“街道语谱图有低频车流”这类纹理。但声音是会演变的,于是工程师还会叠加时序模型(如 LSTM)和注意力机制,让大脑不只看到“花纹”,还能捕捉“花纹随时间的变化”——比如钟声敲三下、每下相隔一秒。小听就这样从“看照片”进化到“看短视频”,判断自然更准。

(I∗K)(i,j)=∑m∑nI(i+m,j+n)×K(m,n)\displaystyle (I * K)(i, j) = \sum_{m} \sum_{n} I(i + m, j + n) \times K(m, n)
卷积就是“用滤镜扫描图像”,把有规律的小花纹变成可判别的特征。
  1. 输入图像把梅尔频谱看作二维矩阵 I,每个元素是某个时刻、某个频率上的能量值。
    I(i,j)\displaystyle I(i, j)
  2. 卷积核一个很小的权重矩阵 K(如 3×3),相当于“滤镜”,决定提取哪种纹理。
    K(m,n)\displaystyle K(m, n)
  3. 滑动相乘滤镜滑到位置 (i, j) 时,把图像局部与权重逐点相乘,突出“像不像这个纹理”。
    I(i+m,j+n)×K(m,n)\displaystyle I(i + m, j + n) \times K(m, n)
  4. 累加输出把 m、n 方向的所有乘积加起来,得到特征图上的一个像素值。
    ∑m∑nI(i+m,j+n)×K(m,n)\displaystyle \sum_{m} \sum_{n} I(i + m, j + n) \times K(m, n)

声源定位原理

小听即使确认了“我在餐厅”,还得知道“服务员在哪个方向”。这时它像一只伏在草丛里的猫:两只耳朵收到同一声音的时间存在一点点差异,它就能瞬间把头转向正确的方向。这个“一点点的差异”就是双耳时间差(ITD,Interaural Time Difference),是人耳定位最重要的物理线索之一。

数学上,假设声源在正前方偏右的角度 θ 处,声音到达右耳的路程比左耳短,因此右耳先听到。左右耳的行程差等于双耳间距 d 乘以方位角的正弦值,再除以声速 v,就得到时间差。这个关系写成公式:

除了时间差,还有音量差(ILD):头部的遮挡让离声源远的那只耳朵听到的声音更小。低频声波长长、容易绕射,主要靠时间差;高频声波长短、遮挡明显,主要靠音量差。不过单靠时间差只能判断“声音在前半平面还是后半平面”,存在前后混淆。所以小听会像人一样转动身体或头部,反复确认——这也是“先定位、再转向”成为听觉机器人基本动作的原因。

Δt=d×sin⁡θv\displaystyle \Delta t = \frac{d \times \sin \theta}{v}
时间差 Δt 由间距、方位角、声速共同决定;反过来,测出时间差就能反推方位角。
  1. 双耳间距 d两只耳朵(或两个麦克风)之间的距离,是产生时间差的“尺子”。
    d\displaystyle d
  2. 方位角投影只有垂直于双耳连线的分量才产生到达差,用正弦函数表示这个投影。
    sin⁡θ\displaystyle \sin \theta
  3. 行程差双耳间距乘上投影值,得到声音到两耳的路程差距。
    d×sin⁡θ\displaystyle d \times \sin \theta
  4. 换算时间差行程差除以声速(约 340 m/s),就得到声音到达两耳的时间差。
    Δt=d×sin⁡θv\displaystyle \Delta t = \frac{d \times \sin \theta}{v}

空间声学特征

两只耳朵终究有限。小听升级了硬件:头顶一圈装上 8 个麦克风,像蜻蜓的复眼。不同方向的声波到达每个麦克风的时间都不同,这一圈“复眼”就是麦克风阵列。阵列的核心任务是估计同一个声源到达不同麦克风的时间差(TDOA,Time Difference of Arrival),再结合几何关系算出方位。

估计 TDOA 最常用的方法是广义互相关,其中最经典的是 GCC-PHAT。它的思路是:两个麦克风收到同一声音,只是存在一个时间偏移;把两个信号变换到频域,只保留相位信息做互相关,然后搜索让相关值最大的偏移量 τ。公式如下:

得到 TDOA 后,结合阵列几何就能解出方位角。更进一步的波束形成则像“数字手电筒”:把阵列各通道加权叠加,让系统只“照亮”目标方向、压暗其他方向的干扰。小听在满座餐厅里锁定服务员的呼喊,靠的就是这只“数字手电筒”先把声音提纯,再做识别。

τ^=arg⁡max⁡τ∑fX1(f)×X2∗(f)∣X1(f)×X2∗(f)∣×ej2πfτ\displaystyle \hat{\tau} = \arg\max_{\tau} \sum_{f} \frac{X_1(f) \times X_2^{*}(f)}{\left| X_1(f) \times X_2^{*}(f) \right|} \times e^{j 2\pi f \tau}
GCC-PHAT 通过“只留相位、去掉幅度”的频域处理,在噪声和混响下依然能尖锐地找出时间差峰值。
  1. 频域表示对两个麦克风的信号分别做傅里叶变换,得到随频率变化的复数 X1 与 X2。
    X1(f),X2(f)\displaystyle X_1(f), \quad X_2(f)
  2. 共轭相乘X1(f) 乘以 X2(f) 的共轭,保留两个信号之间的相位差信息。
    X1(f)×X2∗(f)\displaystyle X_1(f) \times X_2^{*}(f)
  3. 相位归一化除以自身的模长,只留下相位、去除幅度影响,这是抗混响的关键一步。
    X1(f)×X2∗(f)∣X1(f)×X2∗(f)∣\displaystyle \frac{X_1(f) \times X_2^{*}(f)}{\left| X_1(f) \times X_2^{*}(f) \right|}
  4. 峰值搜索对不同偏移 τ 求和并寻找最大值,峰值对应的 τ 就是到达时间差估计。
    τ^=arg⁡max⁡τ∑fΦ(f)×ej2πfτ\displaystyle \hat{\tau} = \arg\max_{\tau} \sum_{f} \Phi(f) \times e^{j 2\pi f \tau}

鲁棒性挑战

但生活从不安静。小听走进一家满座的餐厅:几十个人同时交谈、背景音乐轰鸣、玻璃杯叮当作响。多个说话人、多种噪声同时存在,这就是多源混叠;环境本身的下雨声、空调声、车流声,则是背景噪声。两者都会压低信噪比(SNR),让特征被污染、让相关峰变得模糊。

信噪比衡量目标声音相对干扰噪声的强弱,定义如下:

当 SNR 较低时,工程师的应对之策包括:先用波束形成在采集端“定向提纯”,再用数据增强把干净样本混入各种噪声训练模型,让大脑“见多识广”,最后用注意力机制让模型自动聚焦比较干净的频段。小听在嘈杂餐厅里也能报出正确场景,靠的不是耳朵更尖,而是大脑更会选择性地听——这正如人在嘈杂聚会上依然能捕捉到有人叫自己的名字,也就是著名的“鸡尾酒会效应”。

SNR=10×log⁡10PsignalPnoise\displaystyle \text{SNR} = 10 \times \log_{10} \frac{P_{\text{signal}}}{P_{\text{noise}}}
SNR 越大说明目标声越突出;0 dB 意味着信号与噪声能量相等。
  1. 信号功率目标声音的平均能量,是衡量“想听的声音有多强”的指标。
    Psignal\displaystyle P_{\text{signal}}
  2. 噪声功率所有干扰声音的平均能量,是“不想听的声音有多吵”的指标。
    Pnoise\displaystyle P_{\text{noise}}
  3. 功率比目标声与噪声直接相除,表示目标声相对噪声强多少倍。
    PsignalPnoise\displaystyle \frac{P_{\text{signal}}}{P_{\text{noise}}}
  4. 分贝化取对数再乘 10,把巨大的动态范围压到可读范围——10 dB 表示信号是噪声的 10 倍。
    SNR=10×log⁡10PsignalPnoise\displaystyle \text{SNR} = 10 \times \log_{10} \frac{P_{\text{signal}}}{P_{\text{noise}}}

融合与应用

故事的结尾,小听要同时回答两个问题:“我在哪?”和“声音从哪来?”它把场景识别的结论与声源定位的方位拼成一张“听觉地图”——场景是地图的背景,方位是地图上的地标。两者还能互相印证:厨房噪声的方位指向后厨,且场景判断为餐厅,那么两者的置信度都会变得更高。这种把多个线索综合起来做判断的思路,叫多线索融合。

融合的常见做法是对各模型的概率取对数后加权求和,再挑得分最高的类别作为最终结论:

现实中的智能音箱、安防设备和助听器,都是这个思路的受益者。场景与方位,一个回答“在哪儿”,一个回答“去哪儿”,合起来才是完整的空间听觉。故事最后,小听终于睁开了眼睛——它发现自己其实从来不需要眼睛,因为这对电子耳,已经替它看清了整个世界的轮廓。

y^=arg⁡max⁡c ∑k=1Kwk×log⁡Pk(c∣x)\displaystyle \hat{y} = \arg\max_{c} \, \sum_{k=1}^{K} w_k \times \log P_k(c \mid \mathbf{x})
多个“专家”各自打分,按可信度加权后汇总,比单个专家更稳。
  1. 分模型输出K 个模型各给出一个概率分布,比如一个管场景、一个管方位。
    Pk(c∣x)\displaystyle P_k(c \mid \mathbf{x})
  2. 对数化取对数让概率相乘变成相加,数值更稳定、也便于求权重和。
    log⁡Pk(c∣x)\displaystyle \log P_k(c \mid \mathbf{x})
  3. 加权求和每个模型按其可信度乘以权重 w_k,再全部加起来,得到综合得分。
    ∑k=1Kwk×log⁡Pk(c∣x)\displaystyle \sum_{k=1}^{K} w_k \times \log P_k(c \mid \mathbf{x})
  4. 取最大综合得分最高的类别作为系统最终的判断结果。
    y^=arg⁡max⁡c ∑k=1Kwk×log⁡Pk(c∣x)\displaystyle \hat{y} = \arg\max_{c} \, \sum_{k=1}^{K} w_k \times \log P_k(c \mid \mathbf{x})

AI 应用场景

智能音箱的远场语音交互

阶段:音频前处理与感知

解决的问题:传统智能音箱放在客厅角落,电视声、多人交谈让指令难以听清。AI 先做场景识别判断“客厅+电视开启”的环境,再用麦克风阵列定位说话人方位,以波束形成增强该方向声音、抑制其他方向,最后才交给语音识别。这套流程让“远场语音”从实验室走向千家万户。

具体案例:用户躺在沙发上喊“Alexa,关掉电视”,音箱在 5 米外通过阵列定位+波束形成准确唤醒并执行指令;即使电视正在播放,唤醒率依然保持在 90% 以上。

智慧安防的异常声音侦测

阶段:事件检测与告警

解决的问题:视频监控存在死角,夜间玻璃破碎、求救声往往无人察觉。AI 将声音场景识别与声源定位结合,部署在园区或街角:先识别“撞击”“打斗”等异常事件,再定位声源方向,引导摄像头转向事发区域,实现“先听到、再看到”。

具体案例:某智慧园区夜间检测到围墙方向的异常撞击声,系统自动定位到 37 号区域并联动附近摄像头与安保人员,从发现到响应仅用 8 秒。

助听器的鸡尾酒会难题

阶段:语音增强与空间滤波

解决的问题:助听器用户最怕多人交谈的嘈杂环境。AI 利用双耳/阵列定位目标说话人方向,结合场景识别(餐厅、街道、会议)动态调整放大策略,对目标方向语音增强、对两侧噪声抑制,帮助用户“聚焦想听的人”。

具体案例:新一代助听器内置场景分类,识别到“餐厅”后自动开启方向性麦克风,将前方说话人声音相对提升 6 dB,同时压暗背景噪声,用户主观可懂度显著提升。

Python 演示

python37 行
import numpy as np def simulate_mics(angle_deg, mic_dist=0.20, sr=16000, dur=0.10):    # 模拟声源从 angle_deg 方向传来时两只麦克风收到的信号    v = 340.0  # 声速, 单位 m/s    theta = np.deg2rad(angle_deg)    tdoa = mic_dist * np.sin(theta) / v  # 左耳相对右耳的到达时差, 单位 s    n = int(sr * dur)    t = np.arange(n) / sr    src = np.sin(2 * np.pi * 1000.0 * t)  # 1kHz 纯音作为声源    shift = int(round(tdoa * sr))    if shift > 0:        right = src        left = np.concatenate([np.zeros(shift), src[:n - shift]])    else:        left = src        right = np.concatenate([np.zeros(-shift), src[:n + shift]])    return left, right, tdoa def estimate_delay(left, right, sr=16000):    # 用互相关峰值估计左右耳到达时间差    corr = np.correlate(left, right, mode="full")    lag = int(np.argmax(corr) - (len(left) - 1))    return lag / sr def locate_angle(est_delay, mic_dist=0.20):    # 由时间差反推方位角    v = 340.0    return np.rad2deg(np.arcsin(np.clip(est_delay * v / mic_dist, -1.0, 1.0))) if __name__ == "__main__":    for true_angle in [-60.0, 0.0, 30.0, 75.0]:        left, right, _ = simulate_mics(true_angle)        est_tdoa = estimate_delay(left, right)        est_angle = locate_angle(est_tdoa)        err = abs(est_angle - true_angle)        print("true %6.1f deg  est %6.1f deg  err %4.1f deg" % (true_angle, est_angle, err))
目的:用纯 NumPy 实现双麦克风声源定位的最简流程——模拟声源方向、产生带时延的两路信号、互相关估计时间差、反推方位角,验证 ITD 的物理公式。
  1. tdoa = mic_dist * np.sin(theta) / v把声速、麦克风间距、声源角度换算成到达时间差,是 ITD 公式的代码化身。
  2. left = np.concatenate([np.zeros(shift), src[:n - shift]])用补零实现信号延迟,模拟左耳比右耳晚收到声波。
  3. corr = np.correlate(left, right, mode="full")互相关运算:把一个信号平移并与另一个对齐,相似度最高的位置就是时延所在。
  4. lag = int(np.argmax(corr) - (len(left) - 1))把互相关峰值的下标换算成采样点延迟,再除以采样率得到秒。
  5. np.arcsin(np.clip(est_delay * v / mic_dist, -1.0, 1.0))由时间差反解方位角,clip 防止数值越界导致无解。

常见误区

误区“声音场景识别不就是把听到的话转成文字吗?我听语音转写就能知道人在哪了。”

正解两者是完全不同的任务。场景识别回答“这是什么环境”(餐厅、街道、办公室),语音识别回答“说了什么字”。餐厅里有人喊“买单”,转写只能给你五个字,场景识别才知道周围是杯盏人声。就像看照片:人脸识别是认人,场景分类是认背景,虽然都叫“识别”,但对象和用途截然不同。

为何常见:两者都属于“音频理解”,名称里都带“识别”二字,初学者很容易混为一谈。

误区“声音从哪来?哪边麦克风收到的声音大,声源就在哪边呗。”

正解音量受距离影响太严重,声源远近、墙壁反射都会让音量失真,靠音量差定位很不稳。可靠的做法是测“到达时间差/相位差”:同一声音到达不同麦克风的时间先后只有零点几毫秒,却几乎不受音量影响。好比猜雷雨距离,靠的是闪电与雷声的时间差,而不是雷有多响。

为何常见:音量是最直观可感的物理量,而时间差太微小、超出日常经验,人们凭直觉想当然。

误区“我买 16 个麦克风围成一圈,随便怎么摆都行,反正数量多就能定位准。”

正解阵列的几何结构决定定位性能。间距太小,时间差分辨率不足;间距太大,又会产生空间混叠导致方向模糊。工程上常兼顾低频(需要大间距)与高频(需要小间距)做非均匀排布,还要做麦克风校准。数量多但排布乱,反而引入更多误差——好比眼睛再多,如果都长在一侧,依然没有立体视觉。

为何常见:直觉上“多就是好”,忽略了信号处理中阵列几何的约束。

误区“餐厅里这么吵,谁来了都听不清,场景识别和定位肯定全废。”

正解工程上有大量对抗手段:波束形成在采集端定向提纯,GCC-PHAT 天然抗混响,数据增强让模型见过各种噪声,注意力机制让模型聚焦干净频段。SNR 低不代表信息为零,只是需要更聪明的提取方式。鸡尾酒会效应证明人耳都做得到,算法也在一步步逼近。

为何常见:单一的朴素方法在噪声下确实失效,让人误以为所有方法都会失效。

面试题

Q1. 声音场景识别(ASC)的核心任务是()

单选题 · easy

  • A.识别说话人的身份
  • B.判断音频所属环境类别← 正确答案
  • C.将语音转写为文字
  • D.分离多个说话人声音

答案:B。ASC 判断“在什么环境”,如餐厅、街道、办公室;识别说话人是声纹识别,转写文字是语音识别,分离说话人是语音分离。好比看照片:ASC 是认背景,其余三个是认人、读字、拆图层。

Q2. 梅尔刻度主要用来模拟人耳的哪种特性?()

单选题 · easy

  • A.对高频声音更敏感
  • B.对低频声音更敏感← 正确答案
  • C.对响亮声音更敏感
  • D.对音色差异更敏感

答案:B。人耳对 1kHz 以下近似线性分辨,对高频则是对数式压缩,即“低频敏感、高频迟钝”。梅尔刻度按此设计,让特征与听感对齐。选 A 就恰好把方向搞反了。

Q3. 双耳定位(ITD)依据的核心物理线索是()

单选题 · mid

  • A.两耳听到声音的时间差← 正确答案
  • B.两耳听到声音的大小差
  • C.两耳听到声音的音色差
  • D.两耳听到声音的频率差

答案:A。ITD 全称是到达时间差,同一声音到达左右耳的时刻略有先后,大脑据此判断方位。音量差(ILD)也有帮助但受距离影响大;音色与频率是声源本身的属性,与方位无关。

Q4. 麦克风阵列进行 TDOA 定位时,首先需要估计的是()

单选题 · mid

  • A.各麦克风的品牌型号← 正确答案
  • B.信号到达的时间差异
  • C.麦克风到声源的距离
  • D.声源的总能量大小

答案:A。TDOA 即到达时间差(Time Difference of Arrival),先用互相关等方法测出同一声音到达不同麦克风的时间差,再结合阵列几何反推方位角。测距离总和或总能量都不是 TDOA 的思路。

Q5. GCC-PHAT 中 PHAT 加权的主要作用是()

单选题 · hard

  • A.突出相位抑制混响← 正确答案
  • B.提高麦克风灵敏度
  • C.降低音频采样率
  • D.增大信号音量

答案:A。PHAT 把互功率谱按模长归一化,只保留相位、去掉幅度,使互相关峰值更尖锐、抗混响能力更强。它不改变硬件、不降采样,也不负责调音量大小。

Q6. 当声源从正前方偏右 30° 时,ITD 的取值特点是()

单选题 · hard

  • A.为正且随偏角增大而增大← 正确答案
  • B.正前方时达到数值最大
  • C.为负且角度越大越小
  • D.与偏角大小完全无关

答案:A。ITD = d·sinθ/v,θ=30° 时为正(右耳先听到),0° 到 90° 内 sinθ 单调上升,所以偏角越大时间差越大。正前方 θ=0 时 ITD 为零,90° 时最大。

Q7. 下列哪些手段可以提升噪声环境下的场景识别鲁棒性?()

多选题 · mid

  • A.使用数据增强扩充训练样本← 正确答案
  • B.采用波束形成定向增强← 正确答案
  • C.调大播放设备的音量
  • D.引入注意力聚焦关键频段← 正确答案

答案:ABD。数据增强让模型见过各种噪声,波束形成在采集端定向提纯,注意力机制让模型忽略嘈杂频段。调大播放音量只影响播放端,不改善识别端的信噪比。

Q8. 关于声音场景识别与声源定位,下列说法正确的有()

多选题 · hard

  • A.两者可以共享特征提取前端← 正确答案
  • B.多源混叠会同时干扰两者← 正确答案
  • C.单麦即可完成精确定位
  • D.两者结合构建完整空间听觉← 正确答案

答案:ABD。两者都从频谱特征出发,可共享前端;多源混叠既让场景标签混乱,也让互相关峰值模糊;单麦克风没有空间差分信息,无法精确测方位;场景与方位互补,构成完整听觉感知。单麦精确定位在物理上不成立。

Q9. SNR 表示的是()

单选题 · easy

  • A.音频信号采用的采样率
  • B.目标信号与噪声功率的比值← 正确答案
  • C.声音播放时的响度等级
  • D.麦克风阵列的整体灵敏度

答案:B。信噪比(SNR)等于信号功率除以噪声功率,再取对数乘 10 得到分贝值,衡量“目标声相对干扰强多少”。采样率、响度、灵敏度都与 SNR 的定义无关。

Q10. 智能音箱使用麦克风阵列的主要目的包括()

多选题 · mid

  • A.增强目标方向的语音← 正确答案
  • B.抑制环境中的干扰噪声← 正确答案
  • C.确定说话人的大致方位← 正确答案
  • D.把声音直接转成文字

答案:ABC。阵列先定位说话人方位,再用波束形成增强该方向、抑制其他方向,这是“远场语音”的关键。转文字是语音识别模块的工作,不依赖麦克风阵列本身完成。