基于FFT的音频分类



在Python中,我仅通过检查频率和振幅来执行警报识别。我的代码采用1S声音的FFT,然后将其与预定频率及其振幅进行比较。由于警报包含较高的频率(6k-9kHz等(和一个长数组(44100个不同的元素(,因此我可以在没有ML的情况下取得成功。多亏了高分辨率的FFT,即使在7010Hz和7016Hz等近距离频率下,我也可以区分振幅变化,并且由于这些频率在录制环境中没有任何外部噪声,因此我可以猜出正确的警报。但是,我想用ML实现它,因为很难用很多警报执行它。有很多音频分类来源/工作示例等,但我找不到最适合我的音频分类来源。他们通常使用功能提取,MFCC,但我不想使用MFCC失去分辨率,因为它结合了近距离频率。因此,我只想构建一种ML算法,该算法仅检查每个类中的两个阵列。频率和振幅(都有44100个元素(您能建议任何来源来构建此算法吗?我检查了下面的来源,这还可以,但我不想使用MFCC类型的方法。如果您发表评论,我可以通过示例提出我的问题。pyaudioclalsification

警报通常还具有特定的时间签名。要么打开或打开/关闭图案。

要检测到这些,您应该将STFT转换为对数尺度的Melspectrogram。您可以使用100-1000毫秒的分析时间窗口进行分类。卷积神经网络往往会做得最好,但是您也可能只有一个随机的森林分类器。

最新更新