中EN
概念页

声音的物理与感知

Physics & Perception of Sound

声音是在空气等可压缩介质中传播的压缩波,用声压随时间变化的信号 p(t)p(t) 描述。游戏音频要模拟的物理与感知现象包括:用分贝度量的响度、人耳对频率不均匀的灵敏度、随距离和大气吸收的衰减、干涉、早期反射与晚期混响、多普勒频移,以及人耳判断声源方位的线索(ITD、IID、HRTF)。GEA 把它们作为 3D 音频渲染的理论基础(GEA4 卷 II 15.1)。

声波的基本量

瞬时声压等于大气压加上声波造成的扰动:pinst=patmos+psoundp_{inst}=p_{atmos}+p_{sound},单位帕斯卡 (Pa)。这样随时间变化的函数在信号处理里称为信号(卷 II 15.1)。周期性声波的几个量(卷 II 15.1.1):

量定义
周期 TT重复图样之间的最短时间,单位 s
频率 fff=1/Tf=1/T,单位 Hz
角频率 ω\omegaω=2πf=2π/T\omega=2\pi f=2\pi/T,单位 rad/s
相位信号沿时间轴的平移量,是相对概念(sin⁡t\sin t 就是平移后的 cos⁡t\cos t)
声速 vv取决于介质;20°C 干燥空气中约 343.2 m/s
波长 λ\lambdaλ=v/f\lambda=v/f,单位 m

感知响度与分贝

人耳在一个滑动时间窗内对声压取平均,用有效声压即均方根 (RMS) 来建模:离散时 prms=1n∑pi2p_{rms}=\sqrt{\frac1n\sum p_i^2},连续时 prms=1T2−T1∫T1T2p(t)2dtp_{rms}=\sqrt{\frac{1}{T_2-T_1}\int_{T_1}^{T_2}p(t)^2dt}(式 15.1、15.2)。感知响度正比于声强 I∝prms2I\propto p_{rms}^2。因为人耳能感知的范围极宽,用对数单位分贝 (dB) 表示,称为声压级 (SPL)(卷 II 15.1.2):

Lp=10log⁡10prms2pref2 dB=20log⁡10prmspref dB,pref=20 μPaL_p=10\log_{10}\frac{p_{rms}^2}{p_{ref}^2}\ \text{dB}=20\log_{10}\frac{p_{rms}}{p_{ref}}\ \text{dB},\qquad p_{ref}=20\,\mu\text{Pa}

  • 等响曲线 (Equal-Loudness Contours)(基于 Fletcher–Munson 曲线):人耳在 2–5 kHz 最灵敏,频率更低或更高时要更大的声压才能听起来一样响。最低的一条是听阈,最高的一条接近约 120 dB 的痛阈(卷 II 15.1.2.1)。
  • 可听频带:成人大约 20 Hz 到 20 kHz,上限随年龄下降。接近上下限时等响曲线趋于竖直,所以频带外几乎听不见(卷 II 15.1.2.2)。

声波传播

声波是纵波,没有偏振(GEA 脚注:固体中的声波可以是横波,因而可以有偏振);游戏里通常模拟吸收、反射,有时模拟衍射,一般忽略折射(卷 II 15.1.3)。

  • 随距离衰减:全向声源在开阔空间中,声压按 1/r1/r、声强按 1/r21/r^2 衰减,Lp(r)=Lp(0)−10log⁡104πr2L_p(r)=L_p(0)-10\log_{10}4\pi r^2 dB。声源也可以是锥形(如扩音喇叭)或定向(如大墙面的反射)(卷 II 15.1.3.1)。

    原书问题:GEA 把 Lp(0)L_p(0) 称为声源"未衰减"的声压级,但按 1/r1/r 规律 r→0r\to0 时声压级发散,式子里的 4πr24\pi r^2 也带量纲。标准写法是 Lp(r)=LW−10log⁡104πr2A0L_p(r)=L_W-10\log_{10}\frac{4\pi r^2}{A_0} dB,其中 LWL_W 是声功率级 (sound power level)、A0=1 m2A_0=1\,\text{m}^2(见 Wikipedia "Sound power" 中 LW=Lp+10log⁡10(4πr2/A0)L_W=L_p+10\log_{10}(4\pi r^2/A_0))。即 GEA 的 Lp(0)L_p(0) 应理解为声功率级 LWL_W,rr 以米计。

  • 大气吸收:1/r1/r 衰减对所有频率相同,大气吸收则频率越高越强,所以远处的声音高频先消失(GEA 用远处中提琴演奏只听到低音的故事说明)。衰减还受温度、湿度影响(卷 II 15.1.3.2)。
  • 相移与干涉:波叠加 (superposition);同相相长、反相相消;两个频率略有差别时产生拍 (beating),即响度以差频周期性起伏。

    原书问题:GEA 说"频率非常接近时只是整体变大或变小,频率相差很大 (differ significantly) 时才产生拍"。实际正好相反:拍出现在频率略有不同时,拍频等于两频率之差;频率相差越大拍越快,最后听起来变成一个合音 (combination tone),而不是拍(见 Wikipedia "Beat (acoustics)")。同一声音经多条路径到达也会因路程差产生相移。反射造成某些频率几乎完全抵消或加强,频响呈梳齿状,称为梳状滤波 (comb filtering)。GEA 因此认为在房间声学处理上花钱比买高端设备更值(卷 II 15.1.3.3)。

混响与回声

有反射面的环境里,听者收到三类声波(卷 II 15.1.3.4):

成分说明
直达声(干声,dry)无遮挡直接到达
早期反射(回声)只与一两个面相互作用,听起来是清晰的"副本"
晚期混响(扩散尾)多次反射后互相干涉,听不出单独回声;决定空间的"音色"

早期反射和晚期混响合起来与干声组成湿声 (wet)。几个参数让大脑判断所处空间:预延迟 (pre-delay)(直达声到第一次反射的间隔,反映空间大小)、衰减 (decay)(反射消失所需时间,反映材质吸声程度)、密度和扩散度。例如小瓷砖浴室预延迟短、衰减长;纽约中央车站预延迟长、回声多。消声室 (anechoic chamber) 消除所有反射,适合录制供后续 DSP 处理的"纯"声音。

多普勒效应

多普勒效应由奥地利物理学家 Christian Doppler 于 1842 年提出。声源或听者运动时,前方波被压缩、频率升高,后方波被拉开、频率降低。一维情形下 GEA 给出(卷 II 15.1.3.5):

f′=c+vlc+vsf≈(1+vl−vsc)f=(1+Δvc)ff'=\frac{c+v_l}{c+v_s}f\approx\left(1+\frac{v_l-v_s}{c}\right)f=\left(1+\frac{\Delta v}{c}\right)f

其中 cc 为声速,vlv_l、vsv_s 为听者和声源的速度,近似式在速度远小于声速时成立。

符号约定:GEA 没有说明 vlv_l、vsv_s 的正方向。按物理意义推算,二者应取同一坐标轴上的有符号速度,且正方向沿听者指向声源:听者朝声源走 vl>0v_l>0 频率升高,声源远离听者 vs>0v_s>0 频率降低。(这是推导,不是原书说法。)另外 15.4.6 把相对速度写成 vrel=vsource−vlistenerv_{rel}=v_{source}-v_{listener},与这里的 Δv=vl−vs\Delta v=v_l-v_s 符号相反(按 PDF 文本读出)。两处都只是约定问题,实现时要统一一种。

方位感知

人判断声源位置的线索(卷 II 15.1.4):

  • 距离衰减给出大致距离(需要知道近处的"基准"响度);
  • 大气吸收让远处高频缺失,可以区分"远处正常说话"和"近处小声说话";
  • 双耳:近侧耳更响;耳间时间差 (ITD),GEA 说约 1 ms(实测最大约 0.66 ms,出现在 90° 方位角,见 Wikipedia "Interaural time difference" 引 Woodworth 1938 / Feddersen 1957;所以 GEA 的 1 ms 只是量级);头部遮挡让远侧耳听到更闷的声音,即耳间强度差 (IID);
  • 耳廓朝前,后方来声略闷;
  • 头相关传输函数 (HRTF) 描述耳廓褶皱对不同方向来声的细微影响。

这些线索分别对应 三维音频渲染 中的距离衰减、大气衰减低通、声像定位 (pan) 和传播建模。

  1. Game_Engine_Architecture_4th_Edtion_Volume_2_-_Jason_Gregory.pdf
  2. Jason Gregory《Game Engine Architecture》第 4 版(2026)卷 II 第 15 章 15.1 节

相关页面

游戏开发三维音频渲染3D Audio Rendering3D 音频渲染引擎要尽可能可信地重现"玩家若真在游戏世界里会听到什么"。它的输入是世界里大量的 3D 声音,输出是少数几路扬声器声道;主要任务是合成、空间化(距离衰减 + 声像定位)、声学建模(混响、遮挡、衍射)、多普勒和混音。GEA 给出了恒功率声像律、聚焦角、混响区域交叉混合、遮挡/阻挡/排除的分析方法,以及顽皮狗《最后生还者》的随机传播建模和声音门户(GEA4 卷 II 15.4)。游戏数学信号与线性时不变系统Signals & LTI Systems信号与系统理论是几乎所有数字音频技术的数学基础,也用于图像处理、电子、流体等领域。核心结论是:线性时不变 (LTI) 系统完全由它的冲激响应 h 描述,任意输入的输出等于输入与 h 的卷积;借助傅里叶变换,时域卷积等于频域乘法,滤波器就是在频域里按频率响应 H(\omega) 衰减部分频率(GEA4 卷 II 15.2)。游戏开发数字音频技术Digital Audio Technology游戏音频程序员需要了解从麦克风到扬声器的整条硬件链路:模拟端的换能器、扬声器布局、电平、放大器和音量控制;数字端的脉冲编码调制 (PCM) 采样、香农-奈奎斯特采样定理、位深与量化误差、各种音频格式与编解码器、多声道数据的并行与交错布局,以及数字接口。GEA 用它们说明音频引擎的输入输出到底是什么(GEA4 卷 II 15.3)。游戏开发音频引擎架构Audio Engine Architecture音频渲染软件和多数系统一样是分层的"栈":硬件 → 驱动 → 底层 API → 3D 音频引擎,功能集通常模仿录音棚的多通道调音台。每个 2D/3D 声音是一条语音 (voice),沿语音总线经过编解码、增益、预发送滤波、辅助发送分出干湿两路、混响、后发送滤波和声像,然后由主混音器合成多声道信号,再经主输出总线(预放、LFE 生成、EQ、压缩、主音量)送到扬声器。资产上分片段、音效提示 (cue)、声音库和流式声音;混音靠分组、闪避、总线预设与混音快照、实例限制和语音抢占(GEA4 卷 II 15.5)。游戏策划游戏音乐与音效设计Game Music & Sound DesignRogers 从设计师的角度讲音乐与音效:尽早规划(迪士尼"星际旅行"去掉 John Williams 的配乐就不像《星球大战》了);选择授权音乐或原创音乐;学会"说音乐人的话"并用临时音轨与作曲沟通;按关卡列出音乐需求,考虑动态配乐与主导动机;音乐永远要比画面上的动作更激动人心;按角色招式列音效清单,区分写实与卡通、局部/远距/优先三类音效;把声音做成玩法时一定要配视觉(Level Up! 第 3 版 Level 17 Some Notes on Music,第 463–476 页;第 1 版为 Level 15)。实现层面见 游戏音频功能与角色对话。

被这些页面引用1 篇

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原