我正在使用 Sphinx-4 将语音转换为文本,但我需要应用程序识别语法,然后识别一系列单词。
例如,具有以下语法:
public <greet> = (Good morning | Hello);
如果我说“Hello”然后是 Joan(或任何其他名字),我打算返回文本“Hello Joan”
我看到主题Dictation Application using Sphinx4但如果我更改设置将始终返回<unk>
。这是正确的一步吗?如果是,我做错了什么?
我正在使用 Sphinx-4 将语音转换为文本,但我需要应用程序识别语法,然后识别一系列单词。
例如,具有以下语法:
public <greet> = (Good morning | Hello);
如果我说“Hello”然后是 Joan(或任何其他名字),我打算返回文本“Hello Joan”
我看到主题Dictation Application using Sphinx4但如果我更改设置将始终返回<unk>
。这是正确的一步吗?如果是,我做错了什么?
要获得 Hello Joan 的输出,您必须保持语法像
public <greet> = (Good morning | Hello) (JOAN | JOHN | MIKE);
所以它可以回报你 -早安 JOAN -早安 JOHN -早安 MIKE -你好 JOAN -你好 JOHN -你好 MIKE
在这个语法中,如果你也打算得到 Just Good Morning 或只是 Hello
那么你的语法应该是
public <greet> = (Good morning | Hello) (JOAN | JOHN | MIKE)*;