【音频基础学习】第 5 天,理解音量、增益和分贝
前言第 4 天你学会了看波形知道波形的高低和振幅有关。但真正进入音频工程后只说“波形大一点”“声音小一点”是不够的。第 5 天要解决的问题是音频里的大小到底怎么描述、怎么计算、怎么避免放大后失真。今天会讲几个非常常见的概念音量增益Gain分贝dB数字满刻度dBFS峰值Peak均方根RMS这些概念会在归一化、动态范围控制、响度分析、削波检测、导出电平控制中反复出现。学好这一天后面很多处理功能会更容易理解。这篇在整套教程里的位置这篇承接 [第 4 天学会看波形] 里的振幅和峰值观察开始解释为什么“数值更大”和“听起来更响”不是一回事。本文会把增益、dB、dBFS、Peak、RMS放进同一套坐标系里为后面的削波、动态范围和归一化打底。学完后建议继续看 [第 6 天理解削波和动态范围]把电平概念延伸到失真、余量和位深。今天学完后你应该掌握什么看完这篇文章后你应该能说清音量、振幅、增益之间是什么关系为什么增益本质上常常是对采样值乘系数为什么放大采样值可能导致削波为什么音频里常用dBdB和dBFS有什么区别Peak和RMS分别描述什么为什么 Peak 高不一定代表听起来更响为什么归一化不等于让声音“听起来一样响”先区分音量、振幅和响度初学者经常把几个词混在一起音量振幅响度电平它们相关但不是完全相同。振幅是信号大小振幅是更偏物理或信号层面的概念。对 PCM 来说振幅可以理解成采样值偏离 0 的程度。采样值越大波形离中心线越远。音量是常用口语表达平时说“音量大一点”可能指很多东西播放器音量调大音频文件本身电平更高扬声器输出功率更大主观听起来更响所以“音量”这个词在日常里很方便但在工程里不够精确。响度是主观听感响度更偏人耳感受。人耳对不同频率、不同持续时间、不同动态结构的敏感度不同所以响度不是简单等于采样值大小。例如一个短促尖峰 Peak 很高但不一定听起来很响一段持续饱满的人声 Peak 不一定最高但可能听起来更响所以今天先建立一个区分振幅是信号数值响度是听觉感受音量是日常表达。什么是增益增益Gain可以先理解成对音频信号整体放大或缩小的比例。在 PCM 处理中最直接的增益处理就是对每个采样值乘以一个系数outputSample inputSample × gain例如gain 0.5振幅变成一半gain 1.0保持不变gain 2.0振幅变成两倍如果一段波形的所有采样值都乘以0.5波形高度会变矮。如果都乘以2.0波形高度会变高。增益和播放器音量有什么区别播放器音量通常是播放设备或软件输出层面的控制不一定改变音频文件本身。增益处理则可能直接改变音频数据。例如播放器里把音量拉到 50%原始文件通常没有变化音频编辑器里对 PCM 应用-6 dB增益并导出新文件的数据已经变了所以要区分播放音量播放时怎么输出数据增益音频数据本身怎么被放大或衰减在音频工具开发中很多“处理结果导出”都属于数据层面的改变。为什么放大可能导致削波数字音频有最大可表示范围。假设某个格式的采样值范围是-32768 到 32767如果原始采样值是25000你乘以2.025000 × 2 50000但50000已经超过最大值32767。系统无法保存这个值只能截断到最大可表示值。这就是削波。所以放大前需要考虑当前最大峰值是多少放大后是否超过上限是否需要先计算安全增益是否允许出现限制器或软削波等处理最基础的原则是任何正增益都可能增加削波风险。什么是分贝分贝dB是一种对数单位。这句话听起来不友好但你可以先这样理解dB 常用来描述比例变化而不是直接描述某个采样值。例如在音频里6 dB大约表示振幅变为 2 倍-6 dB大约表示振幅变为 0.5 倍0 dB在增益语境里表示没有变化这里的0 dB不是“没有声音”而是“相对于参考值没有增减”。为什么音频喜欢用 dB音频里使用dB有几个原因。第一人耳听感不是线性的采样值乘以 2不代表你主观上觉得“刚好响两倍”。人耳对响度变化的感知更接近对数关系。第二音频动态范围很大音频信号可能从非常小到非常大。如果全用线性数字表达数值跨度很大不方便阅读。用 dB 可以把很大的比例范围压缩到更容易理解的数字范围。第三工程工具都用它沟通你会在这些地方看到 dB电平表增益旋钮EQ压缩器阈值限制器上限响度标准归一化目标所以 dB 是音频工程里的通用语言。线性增益和 dB 怎么对应入门阶段不必死记公式但知道几个常见对应关系很有用dB 变化振幅大致变化6 dB约 ×2-6 dB约 ×0.512 dB约 ×4-12 dB约 ×0.250 dB不变严格计算会用对数公式但初学时先记住6 dB约等于振幅翻倍/减半就能理解很多工具参数。注意这里说的是振幅不是功率也不是主观响度翻倍。什么是 dBFSdBFS是数字音频里非常重要的单位。它的意思可以理解成相对于数字满刻度的分贝值。FS是 full scale也就是数字系统能表示的最大电平。在数字音频中0 dBFS通常表示最大可表示电平正常 PCM 峰值不应该超过0 dBFS常见电平值通常是负数比如-6 dBFS、-12 dBFS这和普通增益语境里的0 dB不一样。0 dB和0 dBFS不要混在增益里0 dB 不放大也不衰减在 dBFS 里0 dBFS 数字满刻度上限所以看到0 dB要先问它的参考点是什么什么是 PeakPeak是峰值表示一段音频中出现过的最大瞬时幅度。在数字音频里常见说法是峰值达到多少dBFS。例如Peak -12 dBFS最大峰值距离满刻度还有 12 dBPeak -1 dBFS已经很接近满刻度Peak 0 dBFS达到满刻度Peak 最适合回答有没有瞬间接近上限或发生削波风险。什么是 RMSRMS是 Root Mean Square中文常叫均方根。数学定义可以以后再深入。入门阶段先这样理解RMS 更接近一段音频的平均能量水平。如果 Peak 看的是最高瞬间RMS 更像是在看整体有多“扎实”、多“持续”。例如一个短促爆点Peak 很高RMS 可能不高一段持续饱满音乐Peak 不一定最高RMS 可能很高RMS 和主观响度更接近一些但仍不等于完整响度。真正响度还要考虑频率加权、时间窗口和人耳感知模型。Peak 和 RMS 为什么要一起看只看 Peak会忽略整体能量。只看 RMS会忽略瞬时过载风险。一起看更有意义情况可能说明Peak 高RMS 低可能有孤立尖峰或爆点Peak 高RMS 高整体很满也接近上限Peak 低RMS 低整体偏小Peak 低RMS 相对高可能经过压缩动态较小这只是初步判断不能代替完整听感分析但非常实用。什么是峰值归一化峰值归一化是很常见的处理。它的基本思路是找到整段音频的最大峰值计算把这个峰值推到目标电平所需的增益对整段音频应用同一个增益例如目标峰值是-1 dBFS当前最大峰值是-7 dBFS那么可以整体增加约6 dB。但峰值归一化只保证最大峰值到达目标位置不保证主观响度一致。两个文件都归一化到-1 dBFS听起来仍然可能一个大、一个小因为它们的 RMS、频率分布和动态范围不同。增益处理在 PCM 里的边界问题做增益处理时要考虑几个边界条件。空 PCM没有数据就不能处理应直接报错或返回空结果。声道和位深不同位深的 sample 范围不同放大后需要按对应范围钳位。多声道通常要对所有声道应用同一个增益。否则左右声道平衡会变化。防止溢出整数 PCM 运算时直接相乘可能超过整数范围。工程里通常会用更高精度类型计算再钳位写回。应用场景音量调整最基础的音量调整就是改变增益。衰减比较安全放大要检查峰值。淡入淡出淡入淡出本质上是让增益系数随时间变化淡入: 0 - 1 淡出: 1 - 0归一化归一化会根据峰值或响度目标计算增益然后应用到整段音频。静音检测判断一段是否静音时常看 RMS 或能量而不是只看单个 sample。动态范围控制压缩器会根据电平变化动态改变增益让大声部分被压低小声部分相对更突出。初学者最容易混淆的几个点误区 10 dBFS是没有声音不对。0 dBFS是数字满刻度通常表示最大可表示电平。误区 20 dB永远表示最大值不对。0 dB要看参考点。在增益语境里0 dB通常表示不增不减。误区 3Peak 越高听起来一定越响不对。Peak 只代表瞬间最大值主观响度还和平均能量、频率分布、持续时间有关。误区 4RMS 就等于响度不完全对。RMS 比 Peak 更接近平均能量但真正响度还需要更复杂的听感模型。误区 5归一化后所有音频听起来都会一样大不对。峰值归一化只对齐最大峰值不对齐主观响度。误区 6降低音量可以修复削波不对。降低音量只能让削波后的失真变小声不能恢复被截掉的波形。今天建议这样练练习 1记住几个 dB 对应关系先记住6 dB约等于振幅 ×2-6 dB约等于振幅 ×0.50 dB在增益里表示不变然后试着解释给别人听。练习 2观察 Peak 和听感找两段音频一段有短促尖峰一段整体持续较满观察哪段 Peak 更高再听哪段主观更响。练习 3解释 dBFS用自己的话解释为什么数字音频里常见电平是负数比如-12 dBFS。练习 4推导安全增益假设一段音频当前 Peak 是-6 dBFS如果你增加10 dB思考它为什么可能削波。今天的总结今天最重要的是建立“音频大小”的工程语言增益通常表示对信号乘以比例放大采样值可能超过可表示范围导致削波dB 是描述比例变化的对数单位dBFS 是相对于数字满刻度的电平单位Peak 描述最大瞬间值RMS 更接近平均能量Peak 和 RMS 要一起看峰值归一化不等于主观响度一致自检问题增益在 PCM 处理中通常意味着什么为什么正增益可能导致削波为什么音频工程里常用 dB0 dB和0 dBFS有什么区别Peak 和 RMS 分别描述什么为什么 Peak 高不一定听起来更响为什么峰值归一化不等于响度归一化自检参考答案1. 增益在 PCM 处理中通常意味着什么通常意味着对采样值乘以一个系数让信号整体放大或缩小。2. 为什么正增益可能导致削波因为放大后采样值可能超过当前格式的最大可表示范围超出的部分会被截断。3. 为什么音频工程里常用 dB因为 dB 适合表达比例变化也更贴近人耳对响度变化的感知方式并且是音频工具里的通用表达。4.0 dB和0 dBFS有什么区别增益语境里的0 dB通常表示不增不减。0 dBFS表示数字满刻度也就是最大可表示电平。5. Peak 和 RMS 分别描述什么Peak 描述最大瞬间振幅RMS 更接近一段音频的平均能量水平。6. 为什么 Peak 高不一定听起来更响因为 Peak 只看瞬间主观响度还受平均能量、持续时间和频率分布影响。7. 为什么峰值归一化不等于响度归一化因为峰值归一化只对齐最大峰值不对齐 RMS、动态范围和人耳感知响度。明天会学什么明天会专门讲削波和动态范围。你会理解为什么“录得太满”有风险为什么24-bit在录音和后期里更常见以及动态范围和噪声底之间是什么关系。