我想实现一个基于PocketSphinx的安卓应用程序的关键字识别。
PocketSphinx对我来说是新的。我从他们的资源库中的PocketsphinxAndroidDemo开始。然后,我已经在Eclipse中导入了项目,并在我的手机上构建并部署了演示应用程序。该演示识别出了存储和提取以及numbers fine命令。我没有安装任何其他的库或工具。
现在我想要识别我自己的关键字,并遵循CMUSphinx教程。因此,我使用"Sphinx knowledge base generator“创建了自己的DIC和LM文件,并将其包含在项目的assets子文件夹中。我使用的语料库:
open browser
new e-mail
forward
backward
next window
last window
open music player我对SpeechRecognizer做了如下修改:
config.setString("-jsgf", joinPath(dataDir, "dialog.gram")); // unmodified
config.setString("-dict", joinPath(dataDir, "lm/2914.dic"));
config.setString("-lm", joinPath(dataDir, "lm/2914.lm"));
config.setString("-hmm", joinPath(dataDir, "hmm/hub4wsj_sc_8k")); // unmodified然后,我再次启动应用程序,得到以下错误:
11-21 12:48:18.758: E/cmusphinx(15521): "fsg_search.c", line 334: The word 'withdraw' is missing in the dictionary和
11-21 12:48:26.375: A/libc(15521): Fatal signal 11 (SIGSEGV) at 0x0000001c (code=1), thread 15557 (SpeechRecognize)我知道“撤回”是以前的字典里的一个词。
我需要在语法文件中修改什么?
我还阅读了本教程http://www.aiaioo.com/cms/index.php?id=28,并使用了其中的声学模型和语音字典。我再次修改了SpeechRecognizer。当应用程序启动时,我发现资源加载正确。但是我得到了同样的错误。
有没有人能告诉我问题出在哪里?我必须执行哪些步骤才能运行我的spotting?
发布于 2016-06-10 03:46:42
尝试将字典文件中的条目更改为全部大写。尝试对您的字典文件使用此命令:
OPEN BROWSER
NEW E-MAIL
FORWARD
BACKWARD
NEXT WINDOW
LAST WINDOW
OPEN MUSIC PLAYER这对我很有效。
https://stackoverflow.com/questions/20120548
复制相似问题