cephos / diy-alexa

Command recognition research

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DIY Alexa with the ESP32

Want to build your own Alexa? All you will need is an ESP32 and Microphone board.

You can find a detailed tutorial in the TUTORIAL.md file and there's also a detailed tutorial video here on YouTube

Demo Video

I'm using a microphone breakout board that I've built myself based around the ICS-43434 - but any microphone board will work. The code has been written so that you can either use an I2S microphone or an analogue microphone using the built-in ADC.

I would recommend using an I2S microphone if you have one as they have a lot better noise characteristics.

My board is available on eBay and Tindie

Other I2S microphones are equally suitable. Boards based around the INMP441 work very well.

Wake word detection is carried out using a model trained with TensorFlow and runs on the ESP32 using TensorFlow Lite. A pre-trained model is included in the Firmware folder so you can get up and running straight away.

Command recognition is carried using wit.ai - a free service from Facebook - I've included the access token for this in the code but will disable it in the next few weeks.

There are two folders in this repo model and firmware check the README.md file in each one for complete details.

Model

Jupyter notebooks for creating a TensorFlow Lite model for "wake word" recognition.

A pre-trained model has already been generated and added to the firmware folder.

Firmware

ESP32 firmware built using Platform.io. This runs the neural network trying to detect the wake word (Marvin). When it hears the wake word it starts recording audio. This audio is then transmitted to the wit.ai server for processing.

About

Command recognition research

License:MIT License


Languages

Language:Jupyter Notebook 83.0%Language:C++ 16.1%Language:C 0.8%Language:CMake 0.0%Language:Makefile 0.0%Language:Python 0.0%Language:Shell 0.0%