如何使用PocketSphinx Android在启动时改善语音识别?

时间:2015-09-30 23:49:00

标签: speech-recognition pocketsphinx-android

我在Android上使用PocketSphinx。识别器初始化后,我启动一个关键字监听器。首先,识别器不会匹配任何东西。但是,几秒钟后,识别器开始匹配具有出色性能的关键字(在初始测试中约为3%WER)。开始匹配所需的时间取决于单词/短语。它似乎也取决于你说出这个词的次数。例如,“加号”非常快速地匹配,通常在第一个或第二个话语上,平均需要2秒才能匹配。 “请稍微帮忙”,另一方面需要大约10秒,或大约8-10个话语。匹配任何关键字后,Sphinx将为所有关键字进入高性能模式。因此,一个解决方法(虽然不是很好)是在初始化完成后立即说“加”。在没有匹配的时间内,Sphinx调用onBeginningOfSpeech()和onEndOfSpeech(),对应关键短语或关键字的话语。

关键字文件:

cancel last
a little help please
add new cut/1e-35/
set material
set quantity
plus/5e-2/
minus/5e-2/

我正在使用pocketsphinx-android-5prealpha-nolib.jar,并且(如果它有所不同)已经在三星Galaxy-S3和摩托罗拉Moto E(第二代)上进行了测试。无论我是否使用耳机,问题都是一样的。

1 个答案:

答案 0 :(得分:1)

使用PocketSphinx演示附带的标准型号en-us-ptm。它是一个轻量级的*模型,并在feat.params文件中设置了默认的CMN值。由于设置了CMN值,Sphinx不需要花时间在启动时设置它们,这意味着在启动时获得质量识别结果没有延迟。与我测试的其他模型相比,默认模型的整体识别结果与我的命令和控制语法非常相似。

*小于7MB,而其他像Voxforge则超过其他人的两倍