1

Hi i am making a software in java in which i want to develop a speech software... I am running a "Hello" sphinx code in java:

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");
        }
    }
}

}

i got this error...

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)

I've added the HelloWord.jar file to my project, but i still having the same result! Please sugest...

4

1 に答える 1

1

getResource("helloworld.config.xml") は null を指しています。URL が指しているファイルが正しく構成されているかどうかを確認してください。クラスパス上にあることを確認してください。

于 2012-11-10T19:21:55.960 に答える