我一直在研究用于语音识别的CMU pocketsphinx。理想情况下,我希望能够使用实时音频作为输入来识别沿着“请拾取”行的句子结构,其中是一个大的对象列表(~200)。最初我在Ubunutu上安装pocketsphinx时遇到了很大的困难,最终我能够使用gstreamer让它工作。现在我已经开始工作,我正致力于提高准确性。我想包含一个jsgf语法,但我找不到任何指令或代码示例,目前我不知所措。
我非常感谢任何帮助。
答案 0 :(得分:1)
你现在不能在gstreamer中使用JSGF,虽然这对插件来说是一个微不足道的改变。但您可以使用FSG格式的语法。您可以自己构建FSG格式的语法,或者将语法从JSGF格式转换为FSG格式:
sphinx_jsgf2fsg -jsgf grammar.jsgf -fsg grammar.fsg
要使用fsg格式的语法,请使用插件的“fsg”属性,就像使用“lm”属性而不是:
g_object_set(G_OBJECT(filter), "lm", MODELDIR "/lm/en/turtle.DMP", NULL);
您将FSG属性设置为FSG文件:
g_object_set(G_OBJECT(filter), "fsg",
"pocketsphinx/test/data/goforward.fsg", NULL);
你可以在python ::
中做同样的事情 asr.set_property("fsg", "pocketsphinx/test/data/goforward.fsg")