I mentioned the mycroft voice assistant device a while back - I haven't done too much with mine yet - I did write a skill so that it could do things on the local home automation system - basically as simple as setting up the security and getting it to send/receive Zero MQ messages.
In my first post, I wasn't aware that it was sending voice commands to the cloud to get converted to text -- I think the way it worked is that all voice recordings were being submitted to the cloud service under a single account -- the cloud service was google at first, and now they're supporting a Mozilla Deepspeech server.
You also have the option to run a deepspeech server in your house - keeping all the voice data local, so of course that's what I wanted to do.
There is a python program called deepspeech-server that will create a web service for deepspeech installed on a local machine.
It apparently runs much faster if you have an Nvidia GPU based video card that deepspeech can use for computational purposes (in which case you would install "deepspeech-gpu" -- I don't have one, and it's slow, but not much slower than the cloud-service call it used to be making.