1

我正在尝试在 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 捕获音频

统计:adin_alsa:延迟设置为 32 毫秒(块 = 512 字节)

错误:adin_alsa:无法从卡控制中获取 pcm 信息

警告:adin_alsa:跳过详细音频设备信息的输出

STAT:已创建 AD-in 线程

警告:剥离:样本 0-27 的值为零,已剥离

pass1_best: DOWarning: strip: sample 192-444 has zero value, stripped

pass1_best:

句子1:

pass1_best:

句子1:玩

pass1_best:Warning: strip: sample 406-436 has zero value, stripped

 ....

等等。

有什么建议么?

4

1 回答 1

1

通常我们会从脚本中调用 Julius,将 Julius 的输出读取到一个变量中,我们可以在其中隐藏所有内容并使用子字符串和切片仅提取所需的内容。通过这种方式,您可以使用适合您目的的任何应用程序(例如 PHP、Julia、Python 等)构建所谓的“对话管理器”,并根据 Julius 认为它​​从 a switchorif .. then .. else结构中听到的内容采取行动。

一个简单的方法是使用一个无限循环,它只在诸如“COMPUTER QUIT”或类似的命令上退出。

如果您收到大量警告,该julius选项会很有帮助。-nostripnostrip

一旦你有一些经验,在服务器模式下julius运行真的很有帮助julius(在文档中描述 [在https://github.com/julius-speech/julius上提供的多个链接以及示例应用程序),它允许你更有效地控制julius,而无需在识别事件之间重新加载。此外julius,将以 XML 格式发送响应,以便您可以在对话管理器中使用经过测试的 XML 阅读器可靠地读取输出。

于 2017-01-23T09:45:04.367 回答