运行helloworld sphinx时出错

时间:2012-11-10 18:18:05

标签: java exception voice-recognition sphinx4

您好我正在java中制作一个软件,我想开发一个语音软件......我在java中运行一个“Hello”sphinx代码:

import edu.cmu.sphinx.frontend.util.Microphone; 
import edu.cmu.sphinx.recognizer.Recognizer; 
import edu.cmu.sphinx.result.Result; 
import edu.cmu.sphinx.util.props.ConfigurationManager;

public class HelloWorld {

public static void main(String[] args) {
    ConfigurationManager cm;

    if (args.length > 0) {
        cm = new ConfigurationManager(args[0]);
    } else {
        cm = new ConfigurationManager(HelloWorld.class.getResource("helloworld.config.xml"));
    }

    Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
    recognizer.allocate();

    // start the microphone or exit if the programm if this is not possible
    Microphone microphone = (Microphone) cm.lookup("microphone");
    if (!microphone.startRecording()) {
        System.out.println("Cannot start microphone.");
        recognizer.deallocate();
        System.exit(1);
    }

    System.out.println("Say: (Good morning | Hello) ( Bhiksha | Evandro | Paul | Philip | Rita | Will )");

    // loop the recognition until the programm exits.
    while (true) {
        System.out.println("Start speaking. Press Ctrl-C to quit.\n");

        Result result = recognizer.recognize();

        if (result != null) {
            String resultText = result.getBestFinalResultNoFiller();
            System.out.println("You said: " + resultText + '\n');
        } else {
            System.out.println("I can't hear what you said.\n");
        }
    }
}

}

我收到了这个错误......

Exception in thread "main" java.lang.NullPointerException at 
edu.cmu.sphinx.util.props.SaxLoader.load(SaxLoader.java:74) at 
edu.cmu.sphinx.util.props.ConfigurationManager.(ConfigurationManager.java:58) at 
HelloWorld.main(HelloWorld.java:22)

我已将HelloWord.jar文件添加到我的项目中,但我仍然有相同的结果!请sugest ...

1 个答案:

答案 0 :(得分:1)

getResource(“helloworld.config.xml”)指向null。检查url指向的文件是否配置正确。确保它在你的类路径上。