please include function onSpeechRecognized. static int onSpeechRecognized_withoutMyUtterances_magicInterval = 2000; // 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_magicInterval) { print("Assuming I said this (delay=" + said.a + " ms): " + said.b + (match(heard, said) ? "" : " => " + heard)); ret; } else if (said != null) print("Assuming I did not say this (delay=" + said.a + " ms): " + said.b + (match(heard, said) ? "" : " => " + heard)); pcallF(f, heard); }); }