当前位置: 首页 > 知识库问答 >
问题:

JSAPI:中央。CreateRecognitor返回null

万俟穆冉
2023-03-14

我是语音识别方面的新手。

所以我想运行这样的代码:(原始链接:http://www.ling.helsinki.fi/~gwilcock/Tartu-2003/L7-Speech/JSAPI/index。html)

public class HelloWorld extends ResultAdapter {
    static Recognizer rec;

    // Receives RESULT_ACCEPTED event: print it, clean up, exit
    public void resultAccepted(ResultEvent e) {
        Result r = (Result)(e.getSource());
        ResultToken tokens[] = r.getBestTokens();

        for (int i = 0; i < tokens.length; i++)
            System.out.print(tokens[i].getSpokenText() + " ");
        System.out.println();

        // Deallocate the recognizer and exit
        rec.deallocate();
        System.exit(0);
    }

    public static void main(String args[]) {
        try {
            // Create a recognizer that supports English.
            rec = Central.createRecognizer(
                            new EngineModeDesc(Locale.ENGLISH));

            // Start up the recognizer
            rec.allocate();

            // Load the grammar from a file, and enable it
            FileReader reader = new FileReader(args[0]);
            RuleGrammar gram = rec.loadJSGF(reader);
            gram.setEnabled(true);

            // Add the listener to get results
            rec.addResultListener(new HelloWorld());

            // Commit the grammar
            rec.commitChanges();

            // Request focus and start listening
            rec.requestFocus();
            rec.resume();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

问题是Central.create识别器返回null。

根据API,此方法返回null,因为我的系统没有任何合适的语音引擎。所以我试着:

  • 安装CMUSphinx。(链接:http://cmusphinx.sourceforge.net/)

然而,Sphinx似乎是一个软件,而不是语音引擎本身。(我觉得我不知道语音引擎的确切定义。我认为它是一种可以将语音转换为计算机可读数据的软件)。

我下载了bin.zip和提取,但我只能运行现成的示例而不是引擎本身。现在,我真的找不到任何线索来运行这个示例代码。

是否有运行此功能的方法?或者我应该为它安装另一个软件吗?如果是,请告诉我。我的操作系统是OSX Mavericks。

P、 S。

还有一个小问题:在原始链接中,他们创建了一个定义语法的文件。但他们并没有提到文件的扩展名。是吗。txt文件或其他文件?它看起来不像'。java“或”。属性的文件。

文件内容如下:

grammar javax.speech.demo;

public <sentence> = hello world | good morning | 
                                      hello mighty computer;

共有1个答案

姜玮
2023-03-14

只需遵循本指南。Sphinx4不再实现Java语音API。

 类似资料:
  • 我有一个项目,它使用RESTEasy REST对象 jar包含一个名为resteasy-client.js的文件,该文件被添加到web页面中,使创建HTTP调用变得更加容易。有虫子!一旦文件发送到客户机,服务器将在方法:WriteJavaScript中:jsapiWriter.java中添加一行

  • 问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电:

  • 问题内容: 我希望有一种方法可以以编程方式访问Android设备上的中央信任密钥库。我知道存在,至少用于验证SSL连接等。它还带有一个方便的工具,用于添加证书,浏览等。(位于设置->位置和安全性->管理受信任的证书下) 我希望能够以编程方式从中检索公钥,以对文件等进行加密。 如果有可用的文档,似乎其他应用程序开发人员正在他们的应用程序中管理自己的密钥库,这似乎是多余的。 有任何想法吗? 问题答案:

  • 本文向大家介绍大中央派遣(GCD),包括了大中央派遣(GCD)的使用技巧和注意事项,需要的朋友参考一下 Grand Central Dispatch(GCD)是Apple Mac OS X和iOS操作系统的一项技术,是对C语言,API和运行时库的扩展的组合,允许应用程序开发人员识别要在其中运行的代码部分平行。像OpenMP一样,GCD管理线程的大多数细节。GCD识别对称为块的C和C ++语言的扩展

  • 我有两个活动和两个布局。当我在第一个活动中显示列表时,一切都正常,并在单击时给出列表中项目的编号,但当我尝试在第二个活动中重复相同的内容时,它会告诉我RecycleServiceClickListener侦听器为空。 适配器: 第一项活动: 第二项活动: 错误: 我不明白为什么在第一种情况下,它正常处理单击,而在第二种情况下,它说RecyclerViewClickListener为null