使用 python 进行音频噪声检测

信息处理 傅里叶变换
2022-02-01 11:49:52

有许多 1 分钟长的音频文件。其中一些是正常的。其中一些是噪音。

这是一个普通的文件:

在此处输入图像描述

这是一个噪音:

在此处输入图像描述

这也是噪音:

在此处输入图像描述

如何使用python自动检测噪声?

顺便说一句:如果你建议任何可以做到这一点的外部控制台程序,它也会很酷。

1个回答

首先,有很多方法可以完成您的任务。根据您的背景,有些可能比其他更容易理解和使用。

如果您熟悉信号处理,您可能会构建一个噪声模型并基于此噪声模型来检测给定信号是否为纯噪声。这种类型的方法通常涉及假设检验和检验统计。基于这些事情,它相应地拒绝或不拒绝给定的样本。这是解决您的问题的一种非常传统的方法。

如果你真的不关心这里的细节,你可能会完全忽略信号和音频。纯粹考虑您拥有的是不同的数据流,您可以使用各种机器学习方法来区分两类事物,在您的情况下,一类是噪声,另一类是非噪声。如果你打算采用这种方法,python sklearn 包将是你的好朋友,它有许多很棒的教程教 0 级的人进行机器学习。

最后,让我提醒您,后一种方法与前一种方法的一大区别是您需要为每个信号样本准备标签。否则,当您有标签和许多样本时,ML 算法将有更好的机会区分这两个类别。无论如何,这两种方法都属于模式识别家族,因此它们肯定是相互关联的。例如,您可能会认为概率噪声模型在某种程度上是一个朴素贝叶斯分类器。