我正在尝试在嘈杂的环境中检测语音。这是新西兰郊区/灌木丛的音景。我们正在使用低质量的麦克风(但我认为这对我的问题没有影响)来定期录制音景以录制鸟鸣。主要挑战之一是出于隐私原因,我们需要删除所有潜在的人类声音。我被困在如何在嘈杂的环境中检测语音的问题上。
这是一个频谱图示例,其中一个人在距离麦克风 8 步远的地方讲话。录音中有噼啪声(不要相信这有影响)和背景中的鸟鸣声(2000hz 左右的活动)。您可以从 8 秒到 13 秒看到 256-1024 赫兹的声音。从 15 到 22 秒的 128hz 附近的活动是车辆。
我正在尝试找到一种识别语音活动(高精度)的方法,就像在这个文件中一样。
我相信,由于语音和这些声音文件的可变性,使用机器学习算法将取得最大的成功。(我也一直在研究基于每个样本的语音频率范围中的能量比例的数学方法,但这似乎不适用于声音文件的可变性)。
我们只有大约 10 分钟的语音记录,就像上面的频谱图一样。然后我们可能有大约 24 小时的非语音记录。
Q1:这些数据是否足够,如果没有,是否建议使用来自 freesound.org 的数据?
Q2:什么类型的算法效果最好?- 处理时间不用担心,数据包含来自多种来源(车辆、动物、人、天气)的噪音,我没有太多的声音可以使用(但我希望我可以只使用来自 freesound 的语音文件。 org),我想达到 100% 的精度,而不用担心召回。
Q3:有没有人知道在我的类似空间中的任何项目,我可以看到他们做了什么?(已经在语音检测 [VAD] 方面做了一些工作,但从一些实验来看,它并不适合像我这样嘈杂的环境,即这个)
Q4:最后一个问题,有没有人知道任何有效的技术来标记连续音频数据中的离散事件以用于 Python 中的 ML 算法?(目前我希望我会在 Audacity 上收听文件并通过电子表格记录语音开始和停止的位置)
否则,任何其他建议都会很棒!
(仅供参考,我已经完成了有关 ML 回归、神经网络和 SVM/tree 的课程,但不会称自己为“精通 ML”)
另外,还有其他地方可以问这些问题吗?我意识到 DSP.stack 更适合解决 dsp 领域的小问题,但我不知道在哪里可以问这个!
