如何在 java 中使用 sphinx 和 freetts 管理 hello.gram 对话
how to manage hello.gram for conversation using sphinx and freetts in java
我正在 java.
中使用 sphinx(语音转文本)和 FreeTTS(文本转语音)开发基于语音的小型交互工具
例如:FreeTTS 发出类似姓名的语音命令:用户将回复他的姓名和年龄,place.everything 是静态的。
如何在 sphinx 中写 hello.gram 来实现这个
public<greet>=[<name>] [<age>] [<place>];
<name> = john | max;
<age> = ten | nine ;
<place> = France | Spain;
语音命令:你叫什么名字
我的回复:Max
观察:最多 10 个
语音命令:您的年龄
我的回复:九
观察:九个法国
当我说 name.its 时断断续续的时候,我只想看到名字 :(
提前致谢。
根据亚历山大的回答修改。
没有神奇的方法来做你想做的事。您必须指定要在语法中识别的所有短语。我唯一可以推荐的是分解一些规则,例如号码:
<位数> = 一 |两个 |三 |四;
<十年> = 二十 |三十|四十;
= <十年> | <十年> <位数> ;
您可以使用下面的代码来避免它。
public <name> = john | max;
public <age> = ten | nine ;
public <place> = France | Spain;
我正在 java.
中使用 sphinx(语音转文本)和 FreeTTS(文本转语音)开发基于语音的小型交互工具例如:FreeTTS 发出类似姓名的语音命令:用户将回复他的姓名和年龄,place.everything 是静态的。
如何在 sphinx 中写 hello.gram 来实现这个
public<greet>=[<name>] [<age>] [<place>];
<name> = john | max;
<age> = ten | nine ;
<place> = France | Spain;
语音命令:你叫什么名字 我的回复:Max
观察:最多 10 个
语音命令:您的年龄 我的回复:九
观察:九个法国
当我说 name.its 时断断续续的时候,我只想看到名字 :(
提前致谢。
根据亚历山大的回答修改。
没有神奇的方法来做你想做的事。您必须指定要在语法中识别的所有短语。我唯一可以推荐的是分解一些规则,例如号码:
<位数> = 一 |两个 |三 |四;
<十年> = 二十 |三十|四十;
您可以使用下面的代码来避免它。
public <name> = john | max;
public <age> = ten | nine ;
public <place> = France | Spain;