音频文件的音量处理

参考:

https://fireattack.wordpress.com/2017/02/06/replaygain-loudness-normalization-and-applications/

问题

不同音轨之间的平均响度差别很大,用户播放时需要不停地调整音量来获得一个相对舒适的响度。

通俗的说,就是由的文件音量太大,由的文件音量太低。

回放增益 Replay Gain

进行回放增益处理的步骤是:首先对整个音频文件进行心理声学分析扫描,以量度它的感知响度和峰值电平。音频文件的原始响度与目标响度(通常定为89分贝的声压值)的差别被计算出来,这个差别称为增益值。

典型的做法是,将该音频文件的增益值和峰值电平值存储于文件的元数据中,以使支持回放增益的音频播放器能够自动衰减(或在一些情形下放大)输出,从而在回放不同的音频文件时得到相似的输出响度。这样就可以避免因制作时制定的标准不同而造成在播放不同专辑的音频文件时需要不断手动调整音量的问题。进行回放增益处理的另一个优势在于,音频文件的峰值电平信息也可用于避免响度较高的歌曲产生削波。

回放增益的的实现通常也包括向音频文件内加入元数据而不改变原始音频数据的过程。在回放增益标准指定了一个8字节文件头域的同时,许多流行的音频格式利用文件标记(tag)来记录回放增益信息。如Flac和Ogg Vorbis格式的文件利用 REPLAYGAIN_* 注释域;而MP3文件通常使用ID3v2或APEv2格式的文件标记来记录。

一些传统音频播放器不支持回放增益元数据。使用这些播放器实现增益值校正的变通方法是直接按照回放增益扫描值进行音量调整,或创建一个经过音量修正的音频文件副本。不过在后者的情形下,所进行的处理可能不是无损可逆的。

回放增益英文名称的标准写法是:“Replay Gain”,但通常也有“ReplayGain”或“replaygain”的写法。

EBU R128

在2011年,欧洲广播联盟(EBU)提出了一个新规范,EBU R128(解读),其中对响度规格化进行了规范。

工具

rsgain

https://github.com/complexlogic/rsgain