我如何提高语音识别启动与PocketSphinx Android



我在Android上使用PocketSphinx。在识别器初始化之后,我启动一个关键字侦听器。首先,识别器不会匹配任何内容。但是,几秒钟后,识别器开始匹配具有出色性能的关键字(在初始测试中约为3%的WER)。开始匹配所需的时间取决于单词/短语。这似乎也取决于你说了多少次这个词。例如,"plus"的匹配非常快,通常在第一个或第二个话语中,平均需要2秒来匹配。另一方面,"请帮帮我"需要大约10秒钟,或者大约8-10次说话。一旦匹配了任何关键字,Sphinx就会为所有关键字进入高性能模式。因此,一个解决方法(尽管不是一个很好的方法)是在初始化完成后立即说"plus"。在没有匹配的时候,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(第二代)上测试过。无论我是否使用耳机,问题都是一样的。

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

*小于7MB,而其他一些如Voxforge则是其两倍以上

最新更新