【问题标题】:Measuring audio "loudness": RMS vs. LUFS测量音频“响度”:RMS 与 LUFS
【发布时间】:2021-01-03 08:02:42
【问题描述】:

我正在尝试测量电视内容的各种剪辑(范围从 ~2-40 秒)的“响度”。我对内容的相对响度感兴趣 - 人们在哪些场景中喊叫与窃窃私语、嘈杂的音乐与安静的场景等。

我认为这意味着我对捕获增益(输入响度)而不是音量(输出响度)感兴趣...

我用 Python 尝试了两种方法:

  1. librosa 的 RMS: np.mean(librosa.feature.rms(spectrogram, center=True).T, axis=0)

  2. pyloudnorm:(实现了 ITU-R BS.1770-4 响度算法 (LUFS))

    meter = pyln.Meter(samplerate)
    loudness = meter.integrated_loudness(waveform)
    

当我比较两者的结果时,它们有时是一致的,但往往是不同的(同一篇文章显示的 RMS 相对较高,但响度较低,反之亦然)。更重要的是,虽然他们似乎都做对了一些事情,但似乎都不能非常准确地代表电视中的内容。我想知道是否需要采取一些步骤来过滤掉一些未被察觉但以某种方式影响这些指标的频率,或者我是否只是遗漏了一些重要的东西?

【问题讨论】:

    标签: python audio volume spectrogram librosa


    【解决方案1】:

    响度,感知到的声音有多大,可能相当棘手。众所周知,它与频率有关,我们对中间频率范围更敏感。它相对于幅度是非线性的。有时会翻倍。

    在小范围内也存在与时间相关的效果,突然的响亮的声音会导致随后的声音看起来比之前不存在的声音更小(时间掩蔽)。并且在长期范围内 - 我们倾向于适应逐渐增加的数量(脱敏)。我们倾向于过滤掉信息很少的声音(如静态/重复噪声)。等等。

    您至少应该应用频率加权。 A-weighting 是常用的。这可以通过对来自 librosa 的 STFT 频谱图进行加权来完成。然后你可以计算它的 RMS。您还应该将其转换为分贝。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2023-01-14
      • 2017-05-11
      • 1970-01-01
      相关资源
      最近更新 更多