空间音频
更新时间: 2025年6月10日
完全沉浸式音频的一个关键要素是空间化:即播放声音时,声音听起来是在三维空间的特定位置。空间化音频对于营造沉浸式体验至关重要,因为它提供了强大暗示,让用户感觉真正置身于 3D 环境中。
空间化的两个关键组成部分是方向和距离。本指南将涵盖这两个主题以及实现它们的技术。
在沉浸式体验的背景下,定位是指大脑确定声音在真实世界中的 3D 位置的能力。尽管只有两只耳朵,人类还是能推断出周围声音的 3D 位置。依赖时间、相位、声级和频谱变化等音频提示来推断声音的位置。
本部分总结了人类如何定位声音和如何应用这些知识来解决沉浸式应用的空间化问题,以及如何使用单声道声音并转换其信号,使其听起来像是来自 3D 空间中的特定点。
我们将了解人类用来确定声源方向的提示。
侧向定位声音是最简单的定位类型。当声音靠近左侧时,左耳会比右耳先听到,而且声音会更响。一般来说,双耳感知越接近一致,声源越接近中心位置。
然而,也有一些有趣的细节。首先,根据声音到达双耳之间的延迟来定位声音,称为耳间时差 (ITD)。人类也可以根据双耳之间的音量差异来定位声音,称为耳间音量差 (ILD)。定位技术在很大程度上取决于信号的频率成分。
如果声音低于一定频率(介于 500 至 800 Hz,具体取决于声源),则很难根据声级加以区分。然而,这个频率范围内的声音的波长比典型人类头部的尺寸大一半,这使得我们可以依赖双耳之间的时间信息(或相位)进行判断,而不会产生混淆。
另一个极端是,频率高于 1500 Hz 的声音的波长比典型人类头部的尺寸小一半。因此,无法再依靠相位信息来定位声音。在这种频率下,人类依靠由头部阴影造成的声级差,或由头部阻挡较远的耳朵而造成的声音衰减来定位声音。

头部阴影的可视化:当声波因头部阻挡而衰减时,离声源较远的耳朵接收到的声音强度会显著降低。
信号开始的时间差也很重要。播放声音时,哪只耳朵先听到声音在确定声音位置时起到了很大的作用。在介于约 800 Hz 到约 1500 Hz 之间有一个过渡区,在此区域内,声级差和时间差都可用于定位声音。
前后定位比侧向定位要困难得多。人类无法依靠时间差,因为对于听众前方和后方的声音而言,双耳时间差和/或双耳声级差可能为零。
在下图中,可以看到位置 A 和 B 的声音难以区分,因为它们与双耳之间的距离是相同的,因此声级差和时间差也是相同的。

前后方向定位模糊的可视化:展示前后距离相同的声源难以区分的原理。
人类依靠由头部和身体引起的声音频谱变化来解决这一问题。频谱变化是指由头部、颈部、肩膀、躯干的形状和大小引起的,特别是外耳(或耳廓)引起的声音过滤和反射。由于来自不同方向的声音与身体外形的互动方式有所不同,大脑会使用频谱变化来推断声音来源于哪个方向。例如,从前方传来的声音会在我们耳廓内部产生共振,而从后方传来的声音则会被我们耳廓所遮蔽。同样地,从上面传来的声音会被肩膀反射,而从下面传来的声音会被躯干和肩膀遮挡。
这些反射和遮挡的效果结合起来,形成了方向选择滤波器。
只需转动头部,就能将难以分辨的前/后问题转换成人类更有能力解决的侧向定位问题。
在下图中,A 和 B 的声音难以区分,因为它们的声级差和时间差都是一样的。通过稍微转动头部,听众改变了双耳之间的时间差和声级差,从而有助于分辨声音的位置。D1 比 D2 更近,这可以提示听众声音更接近左侧,因此在其身后。

可视化:展示头部运动如何消除前后方声音位置模糊。
同样地,歪头也有助于从垂直角度上辨别对象。在下图中,听众歪头,导致 D1 变短,D2 变长。这可以帮助听众确认声音来自于头顶上方,而不是下方。

可视化:展示将头歪向一侧将如何帮助判断声音是来自上方还是下方。
人类听到的声音会直接受到身体(尤其是耳朵)的形状、几何结构,以及声音传入方向的影响。这两个要素:我们的身体 + 音频源的方向,构成了头部相关传输函数 (HRTF) 的基础,而 HRTF 是用来定位声音的滤波器。方向选择滤波器可以编码为 HRTF。HRTF 是大多数现代 3D 声音空间化技术的基石。
捕捉头部相关传输函数最准确的方法是,找一个人,在他的双耳(耳道正外侧)各放置一个麦克风,然后将受试者置于消声室(没有回声的房间)中,确定对于所打造的体验来说很重要的方向,从这些方向向室内播放声音,并通过耳朵上的麦克风录制这些声音。然后将原始声音与捕捉到的声音进行比较,并计算传输函数,也就是头部相关传输函数。
对双耳执行上述操作,并且从足够数量的离散方向捕捉声音,以构建一个可用样本集。但这仅捕捉了特定人员的 HRTF。虽然 HRTF 具有个性化功能,但它们彼此之间足够相似,以至于在大多数情况下,一套通用的参考集就足够了,尤其是当与头部追踪技术结合起来使用时。
大多数基于 HRTF 的空间化实现都使用了下面列出的一些公开可用的数据集。这些数据集要么是从一系列人类受试者身上捕捉到的,要么是从 KEMAR 等合成头部模型中捕捉到的。
大多数 HRTF 数据库并不包含所有方向的 HRTF。例如,通常会在受试者头部下方留出很大一块区域,因为在一个人头部正下方一米处放置扬声器是极为困难的。一些 HRTF 数据库的采样率很低,仅包括每隔 5 度或 15 度的 HRTF。
大多数实施方法要么是快速切换到最近获取的 HRTF(这会导致出现可听到的不连续现象),要么是使用某种 HRTF 插值方法。这是一个持续的研究领域,但对于桌面沉浸式应用而言,找到并使用足够密集的数据集通常就足够了。
给定一个 HRTF 集,如果已知声音的来源方向,则选择合适的 HRTF 并将其应用于声音。这通常是通过时域卷积,或使用快速傅里叶变换 (FFT) 的频率域卷积的形式来完成的。由于 HRTF 考虑了听众的头部几何形状,因此在执行空间化处理时使用耳机是很重要的。如果不戴耳机,您实际上是在应用两种头部相关传输函数:一种是模拟 HRTF,另一种是由您身体几何形状造成的实际 HRTF。
听众会本能地使用头部动作来消除歧义,并确定空间中声音的位置。如果失去了这种能力,则其在空间中定位声音的能力就会下降,尤其是上下和前后定位。即使不考虑定位,但是如果无法对听众的头部运动进行补偿,那么最终呈现出来的声音效果也会非常一般。当听众将头部转向一侧 45 度时,必须提供准确的音频反馈,否则沉浸感将会消失。
像 Meta Quest 这样的沉浸式头戴设备能够提供追踪听众头部方向和位置的能力。通过将这些信息提供给声音包,可以更新空间化音频,使用户在空间中移动时感觉声音仿佛来自虚拟世界。(这里假设听众戴着耳机。)虽然有可能用扬声器阵列来模仿这一点,但其可靠性会大大降低,而且设备更加笨重,实现起来也更加困难,因此对于大多数沉浸式应用来说扬声器阵列并不实用。
ILD、ITD 和 HRTF 可以帮助我们确定声源的方向,但为确定声音的距离而提供的提示却相对缺少。结合使用以下因素来确定距离。
响度是最明显的距离提示,但它可能具误导性。如果听众缺乏参考框架,则他们无法判断声音从源头传过来时音量降低了多少,从而无法估算距离。幸运的是,听众很熟悉生活中出现的多种声源,如乐器、人声、动物、车辆等,因此可以很好地预测它们的距离。对于合成或不熟悉的声音,听众没有这样的参考框架,他们必须依靠其他提示或相对音量变化来预测声音是在靠近还是远离。
初始时间延迟是指直达声及其第一次反射之间的间隔。如果声源很近,直达声会立即到达,而直达声和第一次反射到达之间会有更长的延迟。如果声音离墙更近,直达声和反射声会差不多时间到达。

初始时间延迟可视化:直达声音将立即到达,而另一个声音将先到达表面再反射。
无回声的环境或沙漠等开放环境可能不会产生明显的反射,这使得估计距离变得更困难。与响度相比,初始时间延迟建模难度要大得多,因为需要对给定几何形状的早期反射进行计算,同时还要考虑该几何形状的特性。这种方法在计算上代价高昂,并且在体系结构上难以实现(将世界几何图形发送到更低级别的 API 通常很复杂)。
在混响环境中,存在长长的、扩散的声音尾声,由所有相互作用、从表面反弹并逐渐消失的晚期回声组成。与后期混响相比,听众听到的直达声越多,则认为声音越接近。
直达混响声(干湿混音)是指任何试图准确模拟反射和后期混响的系统都会产生的一种自然副产品。不幸的是,此类系统的计算成本往往非常高。使用基于人工混响器的专用模型时,可以在软件中调节混音设置,但这些模型完全是经验模型。
注意:几十年来,音频工程师一直使用该属性,通过调整人工混响的“湿/干混音”来将乐器或人声移动到歌曲的“前方”或“后方”。
运动视差(声源在空间中的明显运动)能够表示距离,因为附近的声音通常比远处的声音表现出更大程度的视差。例如,附近的昆虫可以在很短的时间内从头部的左侧移动到右侧,但远处的飞机可能需要很多秒才能做到同样的事情。因此,如果声源相对于固定角度传播很快,则人类倾向于认为声音来自附近。头部小幅移动时方向变化的幅度有助于人类判断声音的距离。
由于空气吸收导致的高频衰减影响较小,但通过应用一个简单的低通滤波器来建模也相当容易。在实际应用中,与其他距离线索相比,高频信号的衰减并不是显著因素。高频的衰减速度比低频快,因此在长距离中,听众可以根据高频的衰减程度来推断距离。声音需要传播数百或数千英尺后,高频(即远高于 10 kHz)才会明显衰减。这也受到大气条件的影响,例如温度和湿度。
如果您已准备好在应用中正式启动音频技术工作,请查阅以下文档: