比较音频频谱以找出差异

Compare audio spectra to find differences

我有一些旋转机器的录音,一个是机器工作正常时的录音,另一个是出现问题时的录音。通过耳朵,我们可以听到差异,但是当我计算两个记录的 FFT 频谱时,频谱看起来几乎相同(即使是最小的 bin)。所以我想知道是否有 FFT 的替代方案,或者我是否做得不对。我的目标是自动发现我们所听到的差异,以便每次机器无法正常工作时我都能收到通知。

谢谢

我建议检查信号的时间差异而不是频率差异。将两个信号的能量归一化,找到最大化它们之间相关性的最佳偏移,然后查看信号之间的算术差异,看看这是否说明了您的耳朵听到的内容。

希望对您有所帮助。

如果在时频域(频谱图)中查看此数据,则差异清晰可见。在这张图片中,我在 Audacity 中打开了音频剪辑,并切换到频谱图视图(使用轨道名称下拉菜单)。

在正常操作(顶行)中,可以看到 <400 Hz 的非常清晰的音调内容,并且在 2000kHz 附近有非常清晰的分量。 在异常情况下(底行),可以看到覆盖整个频率范围的周期性能量爆发。

使用机器学习模型(给定足够的数据)应该可以轻松区分这两种模式。例如,频谱图上的小型卷积神经网络或递归神经网络。这种用例通常通过异常检测设置来处理,其中仅在正常数据上训练模型。然而,标记的异常数据对于验证非常有用。

作为参考,我在 Audacity 中使用的设置如下:

此致,Jon Nordby,CTO @ Soundsensing AS,机器听觉专家