相关疑难解决方法(0)

音量标准化

我正在编写一个音乐播放器,我想标准化不同歌曲的音量。

我可以想到一些不同的方法来做到这一点,例如:

  1. 遍历所有 PCM 样本(假设浮点数从 -1 到 1)并选择 m = max(abs(sample))。然后将因子 1/m 应用于所有 PCM 样本。这将使峰值为 1。

  2. 遍历 PCM 流,对于每个位置,取其周围一定宽度的汉宁窗口,计算绝对样本的平均值,然后从这些数据中选取最大值并标准化所有内容。

  3. 与 2 相同,但可以通过其他方式获得某种平均值。

2 和 3 的缺点是我可能需要一些剪辑,从而失去一些质量。不过,通过不标准化为 1 而是标准化为 0.95 左右,我也许可以在某种程度上避免这种情况。但我认为 2 和 3 的优点是这对用户来说可能是更自然的归一化。维基百科也有一些关于此的信息,并提到RMSReplayGainEBU R128来测量歌曲的响度。

其他流行的音乐播放器(如 iTunes 等)是如何做到这一点的?

audio pcm audio-player

3
推荐指数
1
解决办法
5271
查看次数

标签 统计

audio ×1

audio-player ×1

pcm ×1