MyCroft is a software suite known as a voice assistant. Once set up, MyCroft will be listening for voice commands. It is then able to determine the actions to perform based on those commands. We'll dig a little deeper into this. MyCroft is based on Python; it is also open source and free. Most of the voice processing is actually done in the cloud (at the time of writing, on the Google system, but a Mozilla system is soon to be available). After commands are processed, Mycroft will then use a voice to respond to the human.
MyCroft is well documented online and has a community of users. There are some interesting alternatives that, when a reader has played with the concepts, they could consider. These are Snips.ai, Snowboy.ai, and Google, to name a few.
What are the concepts of a Voice Assistant?