如何获取我的 wav 文件相对于时间的声振幅

本文关键字:时间 相对于 文件 wav 何获取 获取 我的 | 更新日期: 2023-09-27 18:33:12

我有一个wav文件,我所需要的只是在播放显着的声音强度时执行一个功能。

例如:如果有一个强度级别为 10(假设)的声音正在播放,所以我希望当声音的强度级别从 10 增加时,应该触发一个事件来告诉我有一个显着的声音。

我试图用谷歌搜索它,发现如果我们读取 wav 文件的字节数并读取数据块(在第 44 个字节之后),我们会得到用户数据(声音数据)。 但是当我分析这些数据时,我感到困惑,因为也有相同的数据没有声音。

我希望我的问题很清楚。所以请我需要您的建议/想法和参考。

如何获取我的 wav 文件相对于时间的声振幅

您不需要

FFT - 您可以计算短期RMS功率,当超过预定阈值时,您会发出"响亮"的声音。

power_RMS = sqrt(sum(x^2) / N)

其中 x 是样本值,N 是要计算 RMS 功率的样本数 - 我建议使用 10 ms 的周期,以 44.1 kHz 采样率给出 N = 441 个样本。