语音识别(使用ML?),而不是语音识别

时间:2019-01-13 17:12:36

标签: tensorflow machine-learning speech-recognition voice-recognition voice

我正在寻找语音识别的示例代码(不要与语音识别相混淆),即-我需要建立一个可以检测特定人的语音的模型。

我可能最终会尝试使用自己的数据调整Tensor Flow“简单音频识别” ...这是最好的做法吗?还有其他建议吗?

3 个答案:

答案 0 :(得分:1)

很大程度上取决于具体情况。您将拥有多少培训样本?您打算认识多少人?信噪比是多少?系统必须识别多少时间?应该有多严格?

不过,我已经可以告诉您,从神经网络开始是一个糟糕的做法,因为您立即放弃对领域的理解。与大多数其他学习系统相比,对行为异常的神经网络进行故障排除要麻烦得多。

我建议您构建自己的功能,而不是一开始就依赖ANN。现在,我假设您对Python(作为大多数TF用户)没问题,并提出以下模块:

作为一种选择,您可以使用三个MFCC中的任何一个进行计算,并以此为基础构建基准系统。通常,每个窗口计算40个或更多的系数,这些系数可以可视化为频谱图。后者可以解释为图像,并且,如果您愿意的话,可以对它们进行深度学习(这是一种流行的选择)。

请注意,“说话人识别”是生物识别的一个完整领域,并且有大量论文讨论了好的方法。

答案 1 :(得分:1)

与语音识别相比,语音识别具有其自身的特定性。我建议您从一些专用工具包开始。

SPEAR就是这样一个项目,提供了立即可用的示例。

也有ALIZE,但从我的角度来看,它有点旧并且使用起来更复杂。

HTK是语音识别软件,但也可以用于您的任务:htk-speaker-recognition。甚至在此上发表了一篇硕士论文:Speaker Recognition System Using HTK

我正在构建一个简单的说话人识别系统,但确实发现,使用HTK构建的非常简单的GMM-UBM模型可以提供最佳效果。

更新

我完全忘记了SIDEKIT。它是ALIZE的继任者,是一个很棒的工具包。我也有一些可行的示例:https://www.dropbox.com/sh/iwbog5oiqhi2wo3/AACnj1Uhazqb-LQY_ztX66PDa?dl=0

答案 2 :(得分:0)

对于相对易于使用的现代NN实现,您可以尝试

https://github.com/mravanelli/SincNet

您可以在公共voxceleb数据库上对其进行训练,以实现最佳分离。