是否有算法或某种启发式方法来判断数字音频数据是否被裁剪?
如果您收到最大值或最小值,那么根据定义,您将裁剪.这些值代表它们的特定值以及超出的所有值,因此它们最适合用作外界检测器.
-亚当
简单的答案是,如果任何样本具有最大值或最小值(对于16位样本分别为-32768和+32767),则可以将其视为剪切.这并不严格,因为该值实际上可能是正确的值,但是没有办法判断+32767是否真的应该是+33000.
对于更复杂的答案:存在样本计数剪切检测器这样的事情,其需要x个连续样本处于最大/最小值以使它们被认为是剪切(其中x可以高达7).这里的理论是只有几个样本的剪辑是听不见的.
也就是说,即使在低于最大值(并且高于最小值)的值时,也有音频设备可以听到相当的声音.由于这个原因,典型的建议是将音乐控制在峰值-0.3 dB而不是0.0 dB.您可能需要考虑该级别之上的任何样本进行裁剪.这一切都取决于你需要它.