I’ve finally gotten rid of the need to use a Push-To-Talk button. In addition to removing the code that actually waits for it to be pushed, I improved the utterance detection slightly, so that it doesn’t go off with small noises and feed garbage into the modules. In my relatively quiet office, it seems to work well, though it feels a litle rushed. I’m prompted to speak (by the beep), before I’ve finished forming my thought, but it seems to handle the pause–where I recover my train of thought, well. It remains to be seen how it would work in a noisy environment.
The other improvement that’s still needed is to handle the end-of-module more gracefully. The module exits and you’re immediately prompted to speak without the phone setting any context. I think this should be relaitvely easy.