【问题标题】:Using Python to measure audio "loudness"使用 Python 测量音频“响度”
【发布时间】:2011-05-29 21:32:54
【问题描述】:

我正在寻找使用 Python 计算一段音频的响度 - 可能通过提取一段音频的峰值音量,或者可能使用更准确的测量 (RMS?)。

最好的方法是什么?我看过pyaudio,但这似乎并没有达到我想要的效果。看起来不错的是ruby-audio,因为它似乎内置了sound.abs.max

输入音频将取自各种本地 MP3 文件,时长约为 30 秒。

【问题讨论】:

标签: python audio audio-analysis


【解决方案1】:

我认为 RMS 是最准确的衡量标准。需要注意的一点是,我们在不同频率下对响度的感知不同,因此使用 fft 将音频转换为频率空间(numpy.fft 应该只适用于 30 秒的音频)。现在据此计算功率谱密度。使用一些响度曲线按频率加权 PSD。尤其是低于 10Hz 的频率,因为那里会有很多功率(它会主导时域中的 RMS 计算),但我们听不到它。现在整合 PSD 并取平方根,这将给出一个感知的 RMS。

您还可以将 mp3 分成多个部分或窗口,并应用此技术在特定部分提供音量。

【讨论】:

  • 嗨,李,感谢您的详细描述!你完美地回答了我的第一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 2010-11-20
  • 2017-05-11
  • 1970-01-01
相关资源
最近更新 更多