I have been spending some time on the voice interaction lately.
I had few requirements from my everyday usage:
- server should know which device is sending voice command, e.g. if I’m saying “I’m leaving” it would understand that it comes from my phone
- server should be able to respond after voice command, e.g. “I’m leaving” → “Okay, locking all doors” or something like that
- client/server should be able to work through command chain (multiple command/response in a row)
- server should be able to send voice message independently of voice command coming from the client (this is a maybe, didn’t do it yet)
All of these are not related to voice command logic on server that is pretty static for me at this time (there is a very interesting thread going on about that).
So, in current implementation I have:
- ability to select an item in settings for voice command (can be different for each client)
- voice command widget
- voice command screen that stream of commands/responses
- server responses are being read out loud
- server can respond by posting update on the same item in following format: VoiceCommand_Igor.postUpdate(“>okay, all lights are off”)
- server can initiate follow up command after response by: VoiceCommand_Igor.postUpdate(“<”), this will restart the speech recognition in the client
Feedback is welcome. I’m curious to know what are others doing with voice commands.


