我正在开发基于语音的小型交互工具,使用java中的sphinx (语音到文本)和FreeTTS(文本到语音)。
例如: FreeTTS会发出语音命令,就像名字一样:用户会回复他的名字和年龄,而place.everything是静态的。
如何在狮身人面像中编写hello.gram以实现这一点
public<greet>=[<name>] [<age>] [<place>];
<name> = john | max;
<age> = ten | nine ;
<place> = France | Spain;
语音命令:你叫什么名字?我的回答是:麦克斯
意见:最多十次
语音命令:你多大了?我的回答是:九
观察:9个法国
我只想在我说name.its时只观察到名字,这也是断断续续的
提前谢谢。
根据亚历山大的答案修改。
发布于 2015-11-23 03:46:15
您可以使用下面的代码来避免它。
public <name> = john | max;
public <age> = ten | nine ;
public <place> = France | Spain;
发布于 2015-11-20 06:48:45
没有神奇的方法去做你想做的事。你必须指定你想要在语法中被识别的所有短语。我唯一能推荐的是分解一些规则,例如数字:
=一二三四;
<decades> = twenty | thirty | forty ;
<numto44> = <decades> | <decades> <digits> ;
https://stackoverflow.com/questions/33801270
复制相似问题