Warning: session_start(): open(/var/lib/php/sessions/sess_55jp717g7h1iomahpmn1r57n6q, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
import edu.cmu.sphinx.util.TimeFrame;
import edu.cmu.sphinx.api.AbstractSpeechRecognizer;
import edu.cmu.sphinx.api.SpeechResult;
// Version that keeps allocated recognizer
sclass StreamSpeechRecognizer2 extends AbstractSpeechRecognizer {
bool allocated;
*(Configuration configuration) throws IOException {
super(configuration);
}
public void startRecognition(InputStream stream) {
startRecognition(stream, TimeFrame.INFINITE);
}
public void startRecognition(InputStream stream, TimeFrame timeFrame) {
if (!allocated) {
recognizer.allocate();
allocated = true;
}
context.setSpeechSource(stream, timeFrame);
}
public void stopRecognition() {}
}
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_2(mp3, wavFile1);
convertWAVForSphinx(wavFile1, wavFile);
// direct conversion leads to robot voice bug
// 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);
long loadTime = sysNow();
StreamSpeechRecognizer2 recognizer = new StreamSpeechRecognizer2(makeSphinxConfig());
loadTime = sysNow()-loadTime;
print("Recognizing " + wavFile);
new L times;
new L lines;
for (int i = 0; i < 10; 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("Loading time: " + loadTime + ". Recognition times (ms): " + 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);
}
}