我已经询问了audio volume normalization。在大多数方法中(例如ReplayGain,我最感兴趣的是),我可能会得到超过PCM极限的峰值(也可以读取here)。音量正常化时的动态范围压缩
简单的裁剪可能是我能做的最糟糕的事情。 As Wikipedia suggests,我应该做一些形式dynamic range compression。
我在谈论我在每个单独的PCM采样值上应用的函数。在另一个similar question,one answer暗示这样做是不够的或不是我应该做的事情。但是,我并不了解这一点,因为我仍然需要处理剪辑案例。答案是否建议一次对多个样本进行范围压缩,并对每个样本进行简单的硬裁剪?
除此之外,维基百科文章中讨论的功能似乎有点不是我想要的(在很多情况下,我最终还是会有裁剪案例)。我正在考虑使用类似tanh的东西。这是一个坏主意吗?它会稍微减少音量,但保证我不会收到任何剪辑。
我的应用程序是一个通用的音乐播放器。我正在寻找一种最适合每个人的解决方案,以便我可以随时打开它,并且用户很可能不想关闭此功能。
感谢您的回答。我想我现在只是用一个平滑的限制器,零攻击和零恢复时间。这大多是微不足道的实施,可能足够好(如果门槛高,大多不明显)。 – Albert
我强烈建议不要使用零攻击,零释放限制器。这是一个裁剪功能。 –
这个答案很混乱。例如侧链是压缩机的固有部分,所以没有“侧链式压缩机”。所有压缩机都是“侧链式”。 –