Mycroft Precise
Mycroft Precise is a wake word listener using the latest machine learning and audio processing technology available.
How it works
First, using librosa, it extracts 20
mfcc features from the input audio. Next, it creates an LSTM network using tflearn. This model is saved to the model/
folder and can be loaded to test for the wake word against new audio.
Current State
Currently, we are in the process of collecting and tagging data to train the network and assess how well it generalizes.
File Descriptions
train_keyword.py
: Reads wav files in thedata
folder and creates/trains the model. Every20
epochs you will see the script saves the model to themodel
folder. HitCtrl+C
to stop training. The next time the script is run it will continue training where it left off.test_keyword.py
: Uses the audio indata/test
and the model saved inmodel/
to run some statistics on the accuracy of the model.collect_data.py
: Allows quickly recording wav files.mycroft_keyword.py
: Used internally to architect the network and to perform common tasks like loading training data.
Setup
- Install
python3
. (Ubuntu:sudo apt-get install python3-pip
) - Install dependencies, ideally in a virtualenv: (
sudo
if installing system wide)pip3 install -r requirements.txt
That's it! Now putt some data in the data folder, run the script, and you should be good to go!