【发布时间】:2013-02-28 04:22:56
【问题描述】:
作为机器学习方面的一个教育项目,我正在考虑从头开始创建一个语音识别系统。在之前接受过他/她的声音训练后,它应该能够从他/她的声音中识别出说话者。
我应该采取什么方法来应对这一挑战?具体来说,这样的系统如何在高层次上工作?
任何建议将不胜感激:)
【问题讨论】:
标签: machine-learning artificial-intelligence
作为机器学习方面的一个教育项目,我正在考虑从头开始创建一个语音识别系统。在之前接受过他/她的声音训练后,它应该能够从他/她的声音中识别出说话者。
我应该采取什么方法来应对这一挑战?具体来说,这样的系统如何在高层次上工作?
任何建议将不胜感激:)
【问题讨论】:
标签: machine-learning artificial-intelligence
要使用您的机器学习算法,您必须首先定义您要为其提供的功能。
最简单的做法是计算音频信号的傅里叶变换(使用任何你想要的 FFT 工具,它非常标准),并使用频率及其幅度信息构建特征向量。
如果还不够,您可以使用频谱图来添加时间信息。
一旦特征设置正确,你就可以开始玩你最喜欢的分类算法了!!!
如果您使用 python,我发现这个问题解释了如何进行 FFT 部分: FFT for Spectrograms in Python
【讨论】:
我做过一次简单的说话人识别。
您可能希望使用 Mel 频率倒谱系数 (MFCC) 等功能,这些功能可以解释由于谐波引起的频谱周期性以及人耳感知的响度。
然后你可以在学习阶段对特征进行聚类,得到一个统计模型。我为此使用了 VQ,这对于这种特定用途来说非常糟糕,但仍然得到了可用的结果。在识别阶段,您尝试将输入数据拟合到代表不同扬声器的不同模型上。拟合得越好,误差越低。请务必根据记录长度标准化分数。
此外,提高说话者识别能力的一个好方法是排除静音和非语音声音。
【讨论】: