确定数字音频数据是否正在剪辑的算法?

标签 algorithm audio heuristics

是否有算法或启发式方法来决定数字音频数据是否为 ​​clipping

最佳答案

简单的答案是,如果任何样本具有最大值或最小值(对于 16 位样本,分别为 -32768 和 +32767),您可以将其视为裁剪。严格来说,这并不正确,因为该值实际上可能是正确的值,但无法判断 +32767 是否真的应该是 +33000。

对于更复杂的答案:样本计数限幅检测器需要 x 个连续样本处于最大/最小值才能被视为限幅(其中 x 可能高达 7)。这里的理论是,仅少数样本中的削波是听不见的。

也就是说,有些音频设备即使在低于最大值(和高于最小值)的值时也能非常清晰地剪辑。出于这个原因,典型的建议是将音乐控制在 -0.3 dB 而不是 0.0 dB 的峰值。您可能希望将高于该水平的任何样本视为剪裁。这完全取决于您需要它做什么。

关于确定数字音频数据是否正在剪辑的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53012/

相关文章:

algorithm - 如何用递归来解决这个问题?

algorithm - Netlogo - 根据曼哈顿距离找到最近的代理

html - 寻找一种方式来减少具有大量HTML5音频的页面的页面加载时间

delphi - 如何在没有关联应用程序的情况下直接播放声音文件(mp3、wav 等)?

model-view-controller - 您应该在MVC中为 Controller 命名什么?什么时候应该创建一个新的?

c# - 堆栈溢出与快速排序实现

java - 冒泡排序可视化(重绘错误)

scripting - 设备启用/禁用脚本

algorithm - 这个(可能)NP完全益智游戏的启发式

algorithm - 多路KK差分算法与贪心算法?