基于FFT的音频分类

时间:2019-05-07 03:45:29

标签: python machine-learning classification fft sound-recognition

在python中,我仅通过检查频率和幅度来执行警报识别。我的代码对1s声音进行FFT,然后将其与预定频率及其幅度进行比较。由于警报包含较高的频率(6k-9kHz等)和较长的数组(44100个不同的元素),因此如果没有ML,我可以成功实现。由于具有高分辨率的FFT,即使在诸如7010Hz和7016Hz之类的接近频率下,我也可以分辨出幅度变化,并且由于这些频率在记录环境中没有任何外部噪声,因此我可以猜出正确的警报。 但是,我想用ML来实现它,因为很难通过大量警报来执行它。有许多音频分类来源/工作示例等,但我找不到最适合我的一种。他们通常使用特征提取MFCC,但我不想因为使用MFCC而失去分辨率,因为它结合了紧密的频率。 因此,我只想构建一个ML算法,该算法仅检查每个类中的两个数组。频率和振幅(都有44100个元素) 您可以建议任何来源来构建此算法吗?我在下面的源代码中进行了检查,但可以,但是我不想使用MFCC类方法。如果您有任何评论,我可以举例说明。 pyAudioClassification

1 个答案:

答案 0 :(得分:0)

除了具有特定的频率外,警报通常还具有特征性的时间特征。要么是循环模式,要么是开/关模式。

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

相关问题