The goal of this project is to implement a voice authentication(recognition) system on a Raspberry Pi in order to add an extra layer of security when using popular voice-controlled devices such as Amazon Echo. Voice-controlled products bring convenience to our lives, but they are also very vulnerable to security attacks.
In Amazon Echo's case, it has to be initialized by connecting it to a user's account through its mobile app. However, anyone could use voice to command Alexa for this user's sensitive information such as calendar, contacts, etc. Therefore, in order to fix this problem, I am investigating potential solutions by implementing a voice authentication system on Raspberry Pi. Since it is difficult to manipulate the hardware side of Amazon Echo, I will emulate Alexa with a Raspbery Pi using the Alexa Voice Service that Amazon provides for developers.
The purpose of using speech recognition softwares in this project is to transcribe audio files to get the text from the speech. This could be useful for the later part of the project when trying to emulate Amazon Echo with a Raspberry Pi.
Speech recognition engine or API used/experimented in this project:
- CMU Sphinx
- IBM Watson Speech to Text API
CMU Sphinx is an open source speech recognition toolkit click developed by Carnegie Mellon University. Click here for detailed information.
This is the API that the project is currently using. See this README.md for setup instructions.
Voice authentication in this project is the process of verifying a user based on the characteristics of a given audio stream.
Voice Authentication engine or API used/experimented in this project:
- ALIZE
- VoiceIt API
ALIZE is an opensource platform for speaker recognition developed by LIA (Laboratoire Informatique d’Avignon, France) and done in collaboration with several academic and industrial partners.
You can view its GitHub here.
Since this project did not end up using ALIZE for voice authentication purpose, please research on how to install and use ALIZE on Google.
This project is currently using VoiceIt for voice verification verification (authentication). See this README.md for setup instructions.
See my partner Luke's GitHub repo on how to add Alexa Voice Service on Raspberry Pi.
Some useful links to configure your Raspberry Pi for this project (in case you really need it)
- General guide for Raspbeery Pi hardware & software setup
- Install Raspbian Operating System on Raspberry Pi
- Install Python packages
- Setup USB microphone as default on the system
- Python libraries
pip3 install requestsandsudo apt-get install python-pyaudio python3-pyaudiopip3 install pyaudio