在音频音量正常化动态范围COM pression [英] Dynamic range compression at audio volume normalization

查看:264
本文介绍了在音频音量正常化动态范围COM pression的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经问了一下音频音量正常化。在大多数的方法(如播放增益,其中我最感兴趣的),我可能会超出限制PCM峰(如也可以读这里)。

I already asked about audio volume normalization. On most methods (e.g. ReplayGain, which I am most interested in), I might get peaks that exceed the PCM limit (as can also be read here).

简单的剪裁很可能是我可以做的最糟糕的事情。 维基百科指出,我应该做某种形式的动态范围COM pression

Simple clipping would probably be the worst thing I can do. As Wikipedia suggests, I should do some form of dynamic range compression.

我谈论它,我将在每个单独的PCM采样值的功能。在另一个<一个href=\"http://stackoverflow.com/questions/2908104/help-with-dynamic-range-com$p$pssion-function-audio\">similar问题,一个答案表明,这样做是不够的,或我不应该做的事。不过,我真的不明白,我仍然要处理裁剪情况。其答案是否建议做对多个样本的范围COM pression一次,做简单的硬削波,除了在每个样品?

I am speaking about the function which I'm applying on each individual PCM sample value. On another similar question, one answer suggests that doing this is not enough or not the thing I should do. However, I don't really understand that as I still have to handle the clipping case. Does the answer suggest to do the range compression on multiple samples at once and do to simple hard clipping in addition on every sample?

离开那一边,维基百科的文章中讨论的功能似乎是有点我想(在很多情况下,我还是会有最终的剪辑情况)不是。我正在考虑使用像正切。那是一个坏主意?这将略微减少量,但保证,我没有得到任何剪裁。

Leaving that aside, the functions discussed in the Wikipedia article seem to be somewhat not what I want (in many cases, I would still have the clipping case in the end). I am thinking about using something like tanh. Is that a bad idea? It would reduce the volume slightly but guarantee that I don't get any clipping.

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

My application is a generic music player. I am searching for a solution which mostly works best for everyone so that I can always turn it on and the user very likely does not want to turn this off.

推荐答案

使用任何瞬时动态范围处理(如剪切或正切非线性)将引入音频失真。将一个正弦波成瞬时非线性函数,你不再有一个正弦波。虽然某些音频应用非常有用,它听起来就像你不希望这些文物。

Using any instantaneous dynamic range processing (such as clipping or tanh non-linearity) will introduce audible distortion. Put a sine wave into an instantaneous non-linear function and you no longer have a sine wave. While useful for certain audio applications, it sounds like you do not want these artefacts.

正常化不会影响动力学(在最小/最大比计)的波形。正常化涉及波形的逐元素乘以一个常数标量值,以确保没有样品曾经超过的最大值。该方法只能通过完成脱线,根据需要处理之前分析整个信号。规范化也是,如果你的波中包含任何激烈的瞬态一个坏主意。整个信号将被瞬时峰值被限幅阈值划分的比率衰减。

Normalization does not effect the dynamics (in terms of min/max ratio) of a waveform. Normalization involves element-wise multiplication of a waveform by a constant scalar value to ensure no samples ever exceed a maximum value. This process can only by done off-line, as you need to analyse the entire signal before processing. Normalization is also a bad idea if your waveform contains any intense transients. Your entire signal will be attenuated by the ratio of the transient peak value divided by the clipping threshold.

如果你只是想保护输出削波你最好还是使用侧链型COM pressor。这方面的一个具体形式是限幅(无限COM pression以上零攻击时间阈值之比)。侧链COM pressor计算信号的平滑能量包络,然后根据该功能可将不同的增益。他们不是瞬间完成,因此可以减少音频失真,你会从你所提到的功能得到。限制器可以瞬发攻击,以prevent削波,但你让一个释放时间,使限幅器仍然衰减后续波形的峰值,随后的波形刚满下来,所以没有失真。激烈的声音后,限幅器恢复。

If you just want to protect the output from clipping you are best off using a side chain type compressor. A specific form of this is the limiter (infinite compression ratio above a threshold with zero attack time). A side-chain compressor calculates the smoothed energy envelope of a signal and then applies a varying gain according to that function. They are not instantaneous, so you reduce audible distortion that you'd get from the functions you mention. A limiter can have instantaneous attack to prevent from clipping, but you allow a release time so that the limiter remains attenuating for subsequent waveform peaks, the subsequent waveform is just turned down and so there is no distortion. After the intense sound, the limiter recovers.

如果有很多的波形高强度峰你可以从这种类型的处理的泵送类型的声音。如果这成为问题的,然后可以移动到下一个级别和子带内执行动态处理。这样,只有频谱的违规部分将被衰减,而使声音的其余部分不受影响。

You can get a pumping type sound from this type of processing if there are a lot of high intensity peaks in the waveform. If this becomes problematic, you can then move to the next level and do the dynamics processing within sub-bands. This way, only the offending parts of the frequency spectrum will be attenuated, leaving the rest of the sound unaffected.

这篇关于在音频音量正常化动态范围COM pression的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆