please include function onSpeechRecognized. static int onSpeechRecognized_withoutMyUtterances_magicInterval = 2000; static int onSpeechRecognized_withoutMyUtterances_reallyLongDelay = 10000; // f : voidfunc(S) - gets only the utterance static TailFile onSpeechRecognized_withoutMyUtterances(fO f) { ret watchQuotedLog_future(speechRecognitionLog(), onSpeechRecognized_interval, voidfunc(S s) { S heard = afterSquareBracketStuff(s); long timestamp = parseFirstLong(s); Pair said = lastVoiceOutputEndBeforeTimestamp(timestamp); if (said != null && said.a <= onSpeechRecognized_withoutMyUtterances_reallyLongDelay) { S info = "this (delay=" + said.a + " ms): " + heard + (match(heard, said.b) ? "" : " (said: " + said.b + ")"); if (said.a <= onSpeechRecognized_withoutMyUtterances_magicInterval) { print("Assuming I said " + info); ret; } else print("Assuming I did not say " + info); } pcallF(f, heard); }); }