2012-09-30 24 views
3

我已经询问了audio volume normalization。在大多数方法中(例如ReplayGain,我最感兴趣的是),我可能会得到超过PCM极限的峰值(也可以读取here)。音量正常化时的动态范围压缩

简单的裁剪可能是我能做的最糟糕的事情。 As Wikipedia suggests,我应该做一些形式dynamic range compression

我在谈论我在每个单独的PCM采样值上应用的函数。在另一个similar question,one answer暗示这样做是不够的或不是我应该做的事情。但是,我并不了解这一点,因为我仍然需要处理剪辑案例。答案是否建议一次对多个样本进行范围压缩,并对每个样本进行简单的硬裁剪?

除此之外,维基百科文章中讨论的功能似乎有点不是我想要的(在很多情况下,我最终还是会有裁剪案例)。我正在考虑使用类似tanh的东西。这是一个坏主意吗?它会稍微减少音量,但保证我不会收到任何剪辑。

我的应用程序是一个通用的音乐播放器。我正在寻找一种最适合每个人的解决方案,以便我可以随时打开它,并且用户很可能不想关闭此功能。

回答

3

使用任何瞬时动态范围处理(如削波或tanh非线性)都会引入声音失真。将正弦波放入瞬时非线性函数中,不再有正弦波。虽然对某些音频应用程序很有用,但听起来好像你不想要这些文物。

标准化不会影响波形的动态(根据最小/最大比率)。归一化包括将波形按元素方式乘以恒定的标量值,以确保没有样本超过最大值。这个过程只能通过离线完成,因为在处理之前需要分析整个信号。如果波形包含任何强烈的瞬态,标准化也是一个坏主意。您的整个信号将被瞬态峰值除以限幅阈值的比率衰减。

如果你只是想保护输出免受削波,你最好使用侧链式压缩机。这是一个特定的形式是限制器(无限的压缩比率高于阈值,零攻击时间)。侧链压缩器计算信号的平滑能量包络,然后根据该函数施加变化增益。它们不是瞬时的,所以你可以减少从你提到的功能中获得的可听失真。限制器可以有瞬间攻击来防止削波,但是允许释放时间,以便限制器保持对后续波形峰值的衰减,随后的波形刚好被调低,因此不会失真。激烈的声音之后,限制器恢复。

如果波形中有很多高强度峰值,则可以从这种类型的处理中获得泵浦型声音。如果这变得有问题,则可以进入下一个层次并在子带内进行动态处理。通过这种方式,只有频谱中的有问题的部分才会被削弱,而其余的声音不受影响。

+0

感谢您的回答。我想我现在只是用一个平滑的限制器,零攻击和零恢复时间。这大多是微不足道的实施,可能足够好(如果门槛高,大多不明显)。 – Albert

+0

我强烈建议不要使用零攻击,零释放限制器。这是一个裁剪功能。 –

+0

这个答案很混乱。例如侧链是压缩机的固有部分,所以没有“侧链式压缩机”。所有压缩机都是“侧链式”。 –

2

一般的解决方案是规范化到明显低于1的增益水平,这样极少数歌曲需要增加增益。换句话说,大部分时间你会降低信号的音量而不是增加。试用不同风格的各种歌曲来确定这个级别是什么。

现在,偶尔你还会遇到一首需要足够增益的歌曲,在某些时候,它会被剪辑掉。你有两个选择:1.不要增加那么多的收益。这首歌会听起来更安静。这就是生活。 (这是一种常用的方法),或者2.应用少量的动态范围压缩和/或限制。当然,你也可以做一些1和2的组合。我相信iTunes使用1和2的组合,但他们在#2上非常努力,而且他们的应用很少。

您的建议使用类似tanh的功能逐个采样,会导致声音失真。你不想为通用音乐播放器做这个。这是在吉他放大器模拟器中完成的,使它们听起来“脏”和“蹩脚”的。它在摇滚,流行音乐或其他现代音乐中听起来可能听不到,但是在精心录制的合唱,爵士乐或独奏小提琴音乐中,人们会感到不安。这与tanh的选择无关,任何非线性函数都会产生失真。

动态范围压缩使用随时间施加于信号上的信封:http://en.wikipedia.org/wiki/Dynamic_range_compression 这样做很棘手,无法创建真正“透明”的压缩器。限幅器可以被认为是压缩机的一个极端版本(至少在理论上)可以防止信号超过某个水平。数字“前瞻”限制器可以在没有明显限幅的情况下进行。明智地使用时,它非常透明。

如果采取这种方法,请确保可以关闭此功能,因为不管您认为它有多透明,有人会听到它而不喜欢它。

+0

也谢谢你的回答。我有一个音量控制,并在一定的阈值进行平滑限制。阈值非常高(无论如何都可以配置),我默认情况下将音量降低0.9倍,所以我很少会达到这个阈值。我玩了一下(通过使用音量系数> 1),听起来还是可以的,所以这可能是一个很好的解决方案。 – Albert

+0

你应该尝试从现代流行音乐到古典音乐。我这样说是因为.9对我来说似乎很高。 (这可能很好,但经验告诉我,它可能不是) –