如何从其他声音事件中正确分类声音?

信息处理 声音的 语音处理 机器学习 嗓音
2022-02-15 16:42:22

我有一个包含数千个声音事件的巨大标记数据集,包括人声、洗碗、掉在地上的东西等等。

我需要报告人声事件何时发生。请注意,这不是简单的语音活动检测 (VAD),因为还有其他声音事件与语音竞争(在 VAD 中,它们通常只关注表现良好的噪声)。

到目前为止,我的方法是训练具有 MFCC 特征的二进制 SVM 分类器(语音和非语音类)。即使在参数优化和修改不同数量的 MFCC 系数之后,对于这样一个简单的任务,性能还是很糟糕......

是否有任何启发式方法或任何东西可以帮助区分语音和我错过的非语音事件?

这个相关的问题类似,但我不需要完全“消除”其他声音,我首先在寻找可能的启发式方法来改进分类。这篇文章是我最后的手段。)

1个回答

您很可能没有足够的数据来训练分类器。虽然几千看起来很多,但这意味着你只有一小部分你试图识别的实际东西。通过稍微调整样本以提高机器学习算法的稳健性来扩展训练数据可能会有所帮助。您可以获取现有的人类语音样本,并尝试稍微放慢每个样本的速度,稍微提高速度,引入粉红/白噪声等......这种技术通常用于 CNN 中的图像(通过引入小旋转和拉伸不同的方法)在训练图像分类器时增加训练集的大小。

另外,不要忘记随着学习的进行而降低学习率。如果步长过大,您的梯度下降实际上可能会超过损失函数最小值并导致结果不佳或过早地使学习饱和。

希望这会有所帮助。