!7 lib 1001094 // JavaLayer 1.0.1 lib 1003620 // mp3spi1.9.4.jar lib 1003621 // tritonus_share.jar p { S text = or2(smartJoin(args), "hello"); print("TEXT: " + text); File mp3 = william_silent(text); try { playMp3(mp3); } catch {} File wavFile1 = prepareProgramFile("speech-big.wav"); File wavFile = prepareProgramFile("speech.wav"); //mp3ToWAV(mp3, wavFile1); //convertWAVForSphinx(wavFile1, wavFile); fixContextClassLoader(); convertWAVForSphinx(mp3, wavFile); print("WAV: " + wavFile + " (" + wavFile.length() + ")"); //pcall { playWAV(wavFile); } // Try to suppress logging // java.util.logging.LogManager.getLogManager().reset(); // no workie // java.util.logging.Logger.getLogger("global").setLevel(java.util.logging.Level.SEVERE); java.util.logging.Logger.getLogger("").setLevel(java.util.logging.Level.SEVERE); StreamSpeechRecognizer recognizer = makeSphinxRecognizer(); print("Recognizing " + wavFile); new L times; new L lines; for (int i = 0; i < 4; i++) { long time = now(); recognizer.startRecognition(new FileInputStream(wavFile)); SpeechResult result; print("loop"); lines = new L; while ((result = recognizer.getResult()) != null) { S line = result.getHypothesis(); lines.add(line); print("Hypothesis: " + line); } print("done"); recognizer.stopRecognition(); times.add(now()-time); } print("Recognition times: " + struct(times)); S recognized = trim(fromLines(lines)); print("recognized: " + recognized); if (match(text, recognized)) print("perfect match!!!"); else { print("not quite."); print("input was: " + text); } }