0

私は音声認識が初めてです。

だから私はこのようなコードを実行したい: (元のリンク: 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.createRecognizernullを返すことです。

API によると、My System には適切な音声エンジンがないため、このメソッドは null を返します。だから私は試しました:

ただし、Sphinx は音声エンジンそのものではなく、ソフトウェアのようです (正確な定義はわかっていないような気がしますspeech engine。音声をコンピューターで読み取り可能なデータに変換できるソフトウェアだと思います)。

bin.zip をダウンロードして解凍しましたが、エンジン自体ではなく、既製のサンプルしか実行できません。さて、このサンプル コードを実行する方法の手がかりが見つかりません。

とにかくこれを実行することはありますか?または、別のソフトウェアをインストールする必要がありますか? もしそうなら、私に知らせてください。私のOSはOSX Mavericksです。

PS

小さな追加の質問: 元のリンクでは、文法を定義するファイルを作成しました。しかし、彼らはファイルの拡張子について言及していませんでした。「.txt」ファイルですか、それとも他のファイルですか? 「.java」または「.properties」ファイルのようには見えません。

以下のようなファイルの内容:

grammar javax.speech.demo;

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

1 に答える 1

1

このガイドに従ってください。Sphinx4 は Java Speech API を実装しなくなりました。

于 2014-04-27T09:57:30.730 に答える