我想实现基于PocketSphinx的关键字发现为Android应用程序。PocketSphinx在Android中的自己的关键字发现
PocketSphinx对我来说是新的。我从他们的repo开始使用PocketsphinxAndroidDemo。 然后我已经在Eclipse中导入了项目,并在我的手机上构建并部署了演示应用程序。该演示确认了存取命令和数字的正确性。我没有安装任何其他库或工具。
现在我想识别我自己的关键字,并对CMUSphinx教程进行说明。因此,我使用“狮身人面像知识库生成器”创建了自己的DIC和LM文件,并已包含在项目的资产子文件夹中。胼我使用:
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。应用程序启动时,我看到资源加载正确。但后来我得到了同样的错误。
有人可以请告诉我什么问题是? 我需要做些什么才能让我的点球跑步?
可能存在'syncAsset'问题,例如如果文件已经存在,即使文件不相同,它也不会覆盖它。我们希望尽快解决所有问题。同时我建议您手动复制资源或编写自己的实现。 –
你的意思是哪个资源,哪个目标? 我应该自己执行什么? – roschulze
我的意思是位于'assets /'下的所有文件。目前,它们使用'syncAsset()'在目标设备上解压缩。我建议你现在手动复制它们。 –