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

Speech Recognition for small vocabulary (about 20 words)

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

这是一个 2 个月的项目,因此不必非常准确。可接受的噪音量可以很小,单词之间会被沉默片刻分开。

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

要解决的问题是: 1)通过较长的录音并将其拆分成单词。 2) 找到与单词

的最佳匹配

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

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

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

此致, 卡罗尔

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

如果以后有人有同样的问题。寻找 2 个主要关键字:

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

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

这种方法非常好,在 20 个单词的字典上有大约 80% 的准确率,并在 class 期间提供了一个很好的演示。