Build a voice-controlled virtual assistant using speech-to-text engines, text-to-speech engines, and conversation modules. This book shows you how to program the virtual assistant to gather data from the internet (weather data, data from Wikipedia, data mining); play music; and take notes. Each chapter covers building a mini project/module to make the virtual assistant better. You'll develop the software on Linux or OS X before transferring it to your Raspberry Pi, ready for deploying in your own home-automation or Internet of Things applications.
Building a Virtual Assistant for Raspberry Pi walks you through various STTs and TTSs and the implementation of these components with the help of Python. After that you will start implementing logic for handling user queries and commands, so that the user can have conversations with Melissa. You will then work to improve logic handling to detect what the user wants Melissa to do. You will also work on building some useful applications/modules for Melissa, which will allow you to gain interesting information from Melissa such as the time, weather information, and data from Wikipedia.
You will develop a music playing application as well as a note taking application for Melissa, laying the foundations for how Melissa can be further extended. Finally, you will learn how to deploy this software to your Raspberry Pi and how you can further scale Melissa to make her more intelligent, interactive and how you can use her in other projects such as home automation as well.
What You'll Learn
Design the workflow and discover the concepts of building a voice controlled assistant
Develop modules for having conversations with the assistant
Enable the assistant to retrieve information from the internet
Build utilities like a music player and a note taking application for the virtual assistant
Integrate this software with a Raspberry Pi
Who This Book Is For
Anyone who has built a home automation project with Raspberry Pi and now want to enhance it by making it voice-controlled. The book would also interest students from computer science or related disciplines.