【问题标题】:How to calculate audio dynamic range?如何计算音频动态范围?
【发布时间】:2012-02-25 21:44:17
【问题描述】:

在 Wiki 中,“动态范围”被定义为“最大可能的未失真正弦波的幅度与均方根 (rms) 噪声幅度之比”,但我不清楚应该如何使用这些操作数.

我已读入一个未压缩的 .wav 文件。它每个样本使用 16 位,我已将这些字节转换为整数(范围可能从 -32768 到 32767)。最大的 int 为 31692,最小的为 -32764。那么接下来我该怎么做呢?我看到了公式“20 * log (high / low)”,它似乎不能直接工作。你能告诉我计算步骤吗?谢谢。

【问题讨论】:

  • 我认为使用维基百科的定义来测试音频文件的动态范围没有意义。那是为了计算诸如信噪比之类的东西(例如,测试麦克风、扬声器等),并且需要信号处理方面的背景才能理解。您确定要查找音频文件的动态范围而不是其他内容吗?
  • @Anthony 谢谢。这是我的项目问题之一。它读入一个 wav 文件并显示其动态范围。它说“动态范围定义为流中最高功率与最低功率(非零)之间的比率,以分贝为单位”。

标签: audio wav


【解决方案1】:

我已经解决了这个问题。实际上公式“20 * log(高/低)”有效。 “high”应该是 abs(-32764) = 32764,low 应该是最接近 0 但不是 0 的值,在我的文件中是 1。所以动态范围是 20 * log10(32764 / 1) = 90 dB。

【讨论】:

    猜你喜欢
    • 2021-09-12
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多