> I found mycroft, Jarvis and a few others, but either got bogged down in dependencies or configuration.
More recently, there is also Rhasspy (https://rhasspy.readthedocs.io) and voice2json (https://voice2json.org). I'm the author of both, if you have questions.
> Why is everything done in "the cloud."
Besides being a way of collecting data and ultimately making money, it avoids some of the "bogged down in dependencies or configuration" problem. My voice projects need to run entirely offline on a variety of hardware and operating systems. If each client was just a little app piping audio data to a cloud service, it would be way easier to write and maintain.
> So the only way to semi-accurately do voice recognition is to source algorithms that re-train off of millions of people?
Nope. You can absolutely tune a speech model locally on your own samples and get great accuracy. The trouble comes with open-ended speech: people expect the voice assistant to recognize that new artist or movie they heard about yesterday. That doesn't work without upkeep somewhere.
Rhasspy/voice2json are intended for pre-defined voice commands using a template language. You can get almost perfect accuracy with this approach, even with millions of possible commands. Re-training only takes a minute, so personal upkeep isn't bad.
> Even if it meant I needed to download a 230GB data set, I'd gladly do it, if it could remotely help in getting away from these data silos.
It's a lot less than that; at most 1-2GB for a given language, usually a few 100MB: https://github.com/synesthesiam/voice2json-profiles/