包括CMU pocketphinx gstreamer的语法

时间:2013-03-31 09:39:41

标签: python grammar gstreamer cmusphinx

我一直在研究用于语音识别的CMU pocketsphinx。理想情况下,我希望能够使用实时音频作为输入来识别沿着“请拾取”行的句子结构,其中是一个大的对象列表(~200)。最初我在Ubunutu上安装pocketsphinx时遇到了很大的困难,最终我能够使用gstreamer让它工作。现在我已经开始工作,我正致力于提高准确性。我想包含一个jsgf语法,但我找不到任何指令或代码示例,目前我不知所措。

我非常感谢任何帮助。

1 个答案:

答案 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")