小词汇的语音识别(约20个单词)

时间:2015-05-20 12:32:42

标签: c++ fft speech-recognition speech-to-text hidden-markov-models

我目前正在为我的大学开展一个项目。任务是编写语音识别系统,该系统将在后台等待几个命令的手机上运行(如。调用0 123 ......)。

这是2个月的项目所以它不一定非常准确。可接受的噪音量可能很小,而且话语会被沉默的时刻分开。

我目前正在加载以RAW 16位PCM格式编码的样本字。将其拆分为块(每秒约50个)并在每个块上运行FFT以获得频谱。

要解决的问题是: 1)经历较长的录音并将其分成单词。 2)找到最匹配的单词

1)我正在考虑只是检查块后的块,如果我遇到几个具有更高人类语音频率的块,则假设该词已经开始。无论如何,我正在寻找可能有助于此的资源。

2)这个接缝更加坚硬。是否有必要将HMM用于这样的系统,或者假设词汇量很小(20个单词)可能有更简单的方法?

编辑: 项目的重点是我自己编写系统,所以我不能使用像Sphinx或HTK这样的现成库。

此致 卡罗尔

2 个答案:

答案 0 :(得分:0)

要识别手机上的命令,您可以使用Pocketsphinx。 Tutorial涵盖Android上的语音识别应用程序,可在CMUSphinx网站上找到。

答案 1 :(得分:0)

如果将来有人会有同样的问题。寻找2个主要关键词:

MFCC - Mel-Frequency cepstrum coefficients计算每个单词模板的系数

DTW - 将捕获的单词与模板匹配 在维基百科上可以找到足够好的DTW描述

这种方法足以让20个字词的准确率达到80%左右,并在课堂上给出了很好的演示。