1. From the log below it appears that every time Flite has finished speaking – Pocketsphinx has resumed recognition. Is there a way to prevent this?
No, but you can just submit one complete utterance for OEFliteController rather than multiple ones in a row if you don’t want suspending and resuming between them, or if for whatever reason it is a requirement to submit separate utterances to OEFliteController you could also just suspend again after speech is complete until your last utterance.
Is there away to wait after each phase to make sure speech is complete as there is using Google TTS?
Yes, check out the docs for OEEventsObserver’s delegate methods.
3. I am using speech punctuation “:” is this any problem with Flite?
I would expect it to just be ignored – are you seeing a different result?