Personal voice assistant developed in Python with Tensorflow/Keras. Group assignment conducted as part of the Voice Recognition (5025) and Deep Learning (8032) subjects.
This project involves the creation of a miniature voice assistant app. The system supports the following functionalities:
- Recognizing speech in voice audio
- Voice-2-Text (recognition of different pre-defined commands, and their parameters)
- Processing of commands through internal components and external APIs to generate a response
- Sentiment analysis of spoken text (if such a command is issued)
- Text-2-Voice (responding to user's command)
The project relies on deep learning methods (transformers and NLP models) for text-to-speech, sentiment analysis, speech-to-text, etc.
Please run ./make (Linux) or .make.bat (Windows) to set up the package. This will create a new Python virtual environment and install the required dependencies; the script will also download the required NLP wav-2-vec model files.
Other available Make commands include:
- ./make models - downloads the deep learning models
- ./make dev - runs the script
- ./make test - runs the test script
- ./make build - builds the Python package
The script connects to external APIs to fetch data. For this to work, you'll need a free RapidAPI account.
After creating an account, find the key of your default application. Copy the key, then run the following command:
./make.bat dev API_KEY # If you're on Windows ./make dev APIKEY="API_KEY" # If you're on Linux
In alphabetical order: