2016-03-21 11 views
3

Ich benutze cmusphinx in Android. Zuerst habe ich ein Demo-Projekt von Github ausgeführt. Wenn ich mein eigenes Wörterbuch aufgebaut eigene keyphrase erstellt gibt es die folgende execptioncmusphinx in android-java.lang.RuntimeException: Decoder_setKeyphrase zurückgegeben -1

FATAL EXCEPTION: AsyncTask #1 
Process: edu.cmu.sphinx.pocketsphinx, PID: 5006 
java.lang.RuntimeException: An error occured while executing doInBackground() 
at android.os.AsyncTask$3.done(AsyncTask.java:300) 
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 
at java.util.concurrent.FutureTask.setException(FutureTask.java:222) 
at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
at java.lang.Thread.run(Thread.java:841) 
Caused by: java.lang.RuntimeException: Decoder_setKeyphrase returned -1 
at edu.cmu.pocketsphinx.PocketSphinxJNI.Decoder_setKeyphrase(Native Method) 
at edu.cmu.pocketsphinx.Decoder.setKeyphrase(Decoder.java:155) 
at edu.cmu.pocketsphinx.SpeechRecognizer.addKeyphraseSearch(SpeechRecognizer.java:259) 
at edu.cmu.pocketsphinx.demo.PocketSphinxActivity.setupRecognizer(PocketSphinxActivity.java:203) 
at edu.cmu.pocketsphinx.demo.PocketSphinxActivity.access$000(PocketSphinxActivity.java:51) 
at edu.cmu.pocketsphinx.demo.PocketSphinxActivity$1.doInBackground(PocketSphinxActivity.java:91) 
at edu.cmu.pocketsphinx.demo.PocketSphinxActivity$1.doInBackground(PocketSphinxActivity.java:85) 
at android.os.AsyncTask$2.call(AsyncTask.java:288) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)  
at java.lang.Thread.run(Thread.java:841)  

hier ist mein Inhalt cmudict-en-us.dict

HELLO HH AH L OW 
HELLO(2) HH EH L OW 
HIMANSHU HH AH M AE N SH UW 

und ich mein keyphrase als

private static final String KEYPHRASE = "hello himanshu"; 

Antwort

2

Bei Wörtern wird zwischen Groß- und Kleinschreibung unterschieden. Ihr Schlüsselwort muss wie im Wörterbuch in Großbuchstaben geschrieben sein. Oder Wörter im Wörterbuch müssen Kleinbuchstaben sein. Phoneme müssen in Großbuchstaben geschrieben sein.

Um solche Fehler zu debuggen, können Sie die logcat-Ausgabe lesen, sie enthält detaillierte Meldungen über das Problem.

+0

danke nikolay, nach dem Ändern des Falles hat es für mich gearbeitet. –

Verwandte Themen