我正在尝试在ubuntu上使用Julius。几个小时后,我终于开始工作了。
基本上,我唯一要做的就是在识别某个单词时触发一个脚本(例如“计算机”)。这是主要问题。最好的方法是什么?
似乎我无法设法以“安静”模式运行Julius
$ julius -quiet -input mic -C julian.jconf 2>/dev/null
仍然输出太多信息:
..........
reject short input = off
----------------------- System Information end -----------------------
*************************************************************
* NOTICE: The first input may not be recognized, since *
* no initial CMN parameter is available on startup. *
* for MFCC01*
*************************************************************
Stat:以16000Hz捕获音频
Stat:adin_alsa:延迟设置为32毫秒(块= 512字节)
错误:adin_alsa:无法从卡片控件中获取pcm信息
警告:adin_alsa:跳过详细音频设备信息的输出
STAT:AD-in线程创建
警告:strip:示例0-27的值为零,已剥离
pass1_best:
DOWarning:strip:示例192-444的值为零,剥离pass1_best:
DO PLAY第1句:
DO PLAYpass1_best:
第1句:DO PLAYpass1_best:警告:strip:示例406-436的值为零,已剥离
....
等等。
有什么建议吗?
答案 0 :(得分:0)
通常我们会从脚本中调用Julius,将Julius的输出读入变量,我们可以隐藏所有内容并仅使用子串和切片提取所需内容。通过这种方式,您可以使用适合您的目的的任何应用程序(如PHP,Julia,Python等)构建所谓的“对话管理器”,根据Julius认为从switch
或if .. then .. else
结构。
执行此操作的一种简单方法是使用无限循环,该循环仅在“COMPUTER QUIT”等命令上退出。
如果您收到大量julius
警告,-nostrip
选项nostrip
会很有用。
一旦您对julius
有一些经验,在服务器模式下运行julius
非常有用(文档[{3}}中提供的多个链接]和示例应用程序中描述) ,它允许您更有效地控制julius
,而无需在识别事件之间重新加载。此外,julius
将以XML格式发送响应,以便您可以使用对话管理器中经过测试的XML阅读器可靠地读取输出。