Warning: session_start(): open(/var/lib/php/sessions/sess_qi8q0d135s5qlj69a7475ioe7a, 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
static JButton button;
static volatile Capturer cap;
static File wavFile;
static Q recognizerQueue;
p-substance {
showControls(jCenteredLine(button = jbutton("Record!", f recordOrStop)));
recognizerQueue = new Q("Recognizer Queue", true);
}
svoid recordOrStop {
if (cap != null) {
cap.stop();
byte[] pcm = cap.getPCM();
infoMessage("Got " + l(pcm) + " bytes PCM!");
pcmToWAVE(pcm, cap.format(), wavFile);
infoBox("Wrote " + f2s(wavFile) + " (" + wavFile.length() + " bytes)");
cap = null;
setText(button, "Record!");
recognizeAudio(wavFile);
} else {
AudioLine line = first(allTargetDataLines());
assertNotNull("Need audio input line!", line);
DataLine dataLine = cast line.open();
print("Capturing");
wavFile = prepareProgramFile(ymd_minus_hms() + ".wav");
cap = captureAudioFromLine2(dataLine, sphinxAudioFormat());
setText(button, "Stop");
}
}
svoid recognizeAudio(final File wavFile) {
recognizerQueue.add(r {
loading {
print("Recognizing audio...");
/*File mp3File = new File(wavFile.getPath() + ".mp3");
wavToMP3(wavFile, mp3File);*/
S line = witAI_recognizeWAV(wavFile);
print("Done recognizing");
infoBox("You said: " + line);
}
});
}