2016-10-27 2 views
1

Ich bin neu in diesem Thema und ich habe versucht, ein Beispielprojekt mit Sphinx4 Bibliotheken für Schritt nach diesem Tutorial Schritt zu bauen: Tutorial linkkeine solchen Verfahren Fehler getComponentNames

dann hielt ich aus der den gleichen Fehler aufweisen (run.xml)

der Code, den ich verwendet:

public static void main(String[] args) { 
     // TODO code application logic here 
     //configuration obj 
     Configuration configuration = new Configuration(); 

     //path to acoustic model 
     configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-us/es-us"); 
     //path to dictionary model 
     configuration.setDictionaryPath("/dictionary.dic"); 
     //path to the language model 
     configuration.setLanguageModelPath("/languagemodel.lm"); 

     //recognizer object, pass configuration object 

     try{ 

      LiveSpeechRecognizer recognize = new LiveSpeechRecognizer(configuration); 
      recognize.startRecognition(true); 

      //create SpeechResult Obj 
      SpeechResult result; 

      //checking if recognizer jas recognized the speech 

      while((result = recognize.getResult())!=null){ 

       //get the recognized speech 
       String command = result.getHypothesis(); 
       //Match recognized speech with our commands 
       switch(command){ 

        case "open file manager": 
         System.out.println("File manager Opened"); 
        break; 

        case "close file manager": 
         System.out.println("File manager Closed"); 
        break; 

        case "open browser": 
         System.out.println("Browser Opened"); 
        break; 

         case "close browser": 
         System.out.println("Browser Closed"); 
        break; 


       } 

      } 
     }catch(IOException e){} 



    } 

der Fehler ich erhalte:

run: 
    Exception in thread "main" java.lang.NoSuchMethodError: edu.cmu.sphinx.util.props.ConfigurationManager.getComponentNames()Ljava/util/Set; 
     at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.listAllsPropNames(ConfigurationManagerUtils.java:553) 
     at edu.cmu.sphinx.util.props.ConfigurationManagerUtils.setProperty(ConfigurationManagerUtils.java:610) 
     at edu.cmu.sphinx.api.Context.setLocalProperty(Context.java:191) 
     at edu.cmu.sphinx.api.Context.setAcousticModel(Context.java:88) 
     at edu.cmu.sphinx.api.Context.<init>(Context.java:61) 
     at edu.cmu.sphinx.api.Context.<init>(Context.java:45) 
     at edu.cmu.sphinx.api.AbstractSpeechRecognizer.<init>(AbstractSpeechRecognizer.java:44) 
     at edu.cmu.sphinx.api.LiveSpeechRecognizer.<init>(LiveSpeechRecognizer.java:34) 
     at speechrecognizer.SpeechRecognizer.main(SpeechRecognizer.java:40) 
    C:\Users\Sadeem\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:54: Java returned: 1 
    BUILD FAILED (total time: 0 seconds) 
die Ursache war, aber keine neuen Ergebnisse

heruntergeladen ich die JAR-Dateien von dieser Website oss.sonatype.org

und ich hinzugefügt, um die file.dic, file.lm zum/src-Ordner und in einen separaten Ordner, wenn diese Figur.

+0

Sie haben in Ihrem Klassenpfad widersprüchliche oder veraltete jars. Sie müssen mehr Informationen darüber angeben, welche speziellen Gefäße Sie verwenden, um weitere Hilfe zu erhalten. –

+0

das sind die Gläser, die ich verwendet habe: - sphinx4-data-1.0.0.jar & - sphinx4-core-1.0.0.jar @NikolayShmyrev –

Antwort

0

Sie haben falsche Gläser verwendet. Richtige Gläser sind sphinx4-core-5prealpha-20160628.232526-10.jar und sphinx4-data-5prealpha-20160628.232535-10.jar

Sie müssen auch sicherstellen, dass keine anderen Sphinx4 Glas ist in Ihrem Klassenpfad.

+0

Vielen Dank für die Hilfe, aber ich bekomme immer noch den gleichen Fehler und es wird in der run.xml-Datei gezeigt -

+0

Sie scheinen alte sphinx4.jar in Ihrem Klassenpfad zu haben, Sie müssen es entfernen. Sie müssen vollständige Informationen zum Klassenpfad angeben, um weitere Hilfe zu erhalten. –

1

Sie möchten vielleicht nur zu einem Groß- oder Maven-basierten Projekt wechseln. Sie können viele Probleme in Bezug auf Bibliotheken loswerden.

Ich habe die folgende Gradle.build derzeit ein Sphinx4 Projekt wurde mit:

apply plugin: 'java' 

repositories { 
jcenter() 
mavenLocal() 
maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
maven {url "https://mvnrepository.com/artifact/commons-io/commons-io"} 
} 

dependencies { 
compile 'org.slf4j:slf4j-api:1.7.21' 
compile group: 'edu.cmu.sphinx', name: 'sphinx4-core', version:'5prealpha-SNAPSHOT' 
compile group: 'edu.cmu.sphinx', name: 'sphinx4-data', version:'5prealpha-SNAPSHOT' 
compile group: 'commons-io', name: 'commons-io', version: '2.4' 
testCompile 'junit:junit:4.12' 
} 

Wenn Sie noch Gradle nie benutzt: https://docs.gradle.org/3.0/userguide/tutorial_java_projects.html

Auch ist es in den meisten IDE, wie Eclipse zur Verfügung, Netbeans oder IntelliJ

+0

Ich löste das Problem bereits, ich vermisste das Hinzufügen der Konfiguration, die mit dem Demo-Projekt verbunden war, so dass es die Bibliotheken von sphinx nicht sehen konnte. Ich werde deine Lösung in der Zukunft versuchen (y) –

Verwandte Themen