Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Speech recognition 使用Sphinx-4听写语法_Speech Recognition_Speech To Text_Cmusphinx_Sphinx4 - Fatal编程技术网

Speech recognition 使用Sphinx-4听写语法

Speech recognition 使用Sphinx-4听写语法,speech-recognition,speech-to-text,cmusphinx,sphinx4,Speech Recognition,Speech To Text,Cmusphinx,Sphinx4,我正在使用Sphinx-4将语音转换为文本,但我需要应用程序识别语法,然后识别听写的单词序列 例如,具有以下语法: public <greet> = (Good morning | Hello); public=(早上好|你好); 如果我说“你好”,然后是琼(或任何其他名字),我打算返回文本“你好,琼” 我看到了该主题,但如果我更改设置,将始终返回。这是正确的步骤吗?如果是,我做错了什么?以Hello Joan的身份获取输出 你必须保持你的语法 public <greet&

我正在使用Sphinx-4将语音转换为文本,但我需要应用程序识别语法,然后识别听写的单词序列

例如,具有以下语法:

public <greet> = (Good morning | Hello);
public=(早上好|你好);
如果我说“你好”,然后是琼(或任何其他名字),我打算返回文本“你好,琼”


我看到了该主题,但如果我更改设置,将始终返回
。这是正确的步骤吗?如果是,我做错了什么?

以Hello Joan的身份获取输出 你必须保持你的语法

public <greet> = (Good morning | Hello) (JOAN | JOHN | MIKE);
public=(早上好|你好)(琼|约翰|迈克);
所以它可以还给你 -早上好,琼 -早上好,约翰 -早上好,迈克 -你好,琼 -你好,约翰 -你好,迈克

在这个语法中,如果你还打算 早上好还是打个招呼

那么你的语法应该是

public <greet> = (Good morning | Hello) (JOAN | JOHN | MIKE)*;
public=(早上好|你好)(琼|约翰|迈克)*;
  • 此处指定0个或多个JOAN/JOHN/MIKE事件 所以它也可以返回 你好,约翰·迈克 或 你好 或 早上好,所有可能的组合

这里的语法没有用处,您可以在听写模式下使用sphinx4并解析解码的字符串。例如easy sphinx4安装,请参阅我知道的教程,但我的工作需要使用语法。你不能这样做,因为它没有任何意义。您可以使用听写语言模型进行识别,它将为您提供所需的一切。如果你想改善结果,你可以按照cmusphinx教程的建议,为你的领域创建特定的语言模型。所以没有机会先使用语法,然后再通过听写?我这样问是因为在不使用语法分析器的情况下定义命令是非常重要的。你不能在一句话中混合语法和听写。public=(早上好,你好)(JOAN,JOHN,MIKE)+;加上此处允许接受一个或多个(JOAN | JOHN | MIKE)实例