Sam*_*ing 3 python audio audio-analysis
我正在使用 Python \xe2\x80\x94\xc2\xa0 计算一段音频的响度,可能是通过提取一段音频的峰值音量,或者可能使用更准确的测量(RMS?)。
\n\n做到这一点的最佳方法是什么?我看过pyaudio,但这似乎没有达到我想要的效果。看起来不错的是ruby-audio,因为这似乎已经sound.abs.max内置在其中。
输入音频将从持续时间约为 30 秒的各种本地 MP3 文件中获取。
\n小智 5
我认为 RMS 将是最准确的测量方法。需要注意的一件事是,我们对不同频率的响度感知不同,因此使用 fft 将音频转换为频率空间(numpy.fft 应该只适用于 30 秒的音频)。现在据此计算功率谱密度。使用响度曲线按频率对 PSD 进行加权。特别是低于10Hz的频率,因为那里会有很大的功率(它会主导时域中的RMS计算),但我们听不到它。现在积分 PSD 并取平方根,这将给出感知的 RMS。
您还可以将 mp3 分成多个部分或窗口,并应用此技术来给出特定部分的音量。