【发布时间】:2018-07-18 11:06:22
【问题描述】:
我想测试一个手工麦克风的性能,所以我录制了有或没有麦克风的相同音频源,得到了两个文件。有没有办法比较两个文件的音量,以便我知道麦克风确实有效?
可能的解决方案是 Python 或 Audacity 中的包吗?
【问题讨论】:
标签: audio audio-recording volume
我想测试一个手工麦克风的性能,所以我录制了有或没有麦克风的相同音频源,得到了两个文件。有没有办法比较两个文件的音量,以便我知道麦克风确实有效?
可能的解决方案是 Python 或 Audacity 中的包吗?
【问题讨论】:
标签: audio audio-recording volume
您需要按响度进行比较。对此的最低准确度量是 A 加权 RMS。 RMS 是均方根,即。所有样本值的平方均值的平方根。低频能量会显着影响这一点,因此您需要应用频率加权。常用A曲线。
此处的答案解释了如何使用 Python 执行此操作,但没有详细说明如何应用加权曲线:Using Python to measure audio "loudness"
Audacity 似乎没有内置函数来执行此操作,但可能有可行的插件可用,例如:http://forum.audacityteam.org/viewtopic.php?f=39&t=38134&p=99454#p99454
另一个有希望的方法可能是ffmpeg,但我发现的所有选项都可以标准化或标记文件,而不是简单地打印测量值。您可以查看http://r128gain.sourceforge.net/(它使用 LUFS,一种更复杂的响度测量方法)。
更新:对于快速而肮脏的未加权 RMS 读数,看起来您可以使用来自 https://trac.ffmpeg.org/wiki/AudioVolume 的以下命令:
ffmpeg -i input.wav -filter:a volumedetect -f null /dev/null
这个问题最好迁移到 Sound Design Stack Exchange。
【讨论】: