Build your own Alexa with the ESP32 and TensorFlow Lite
atomic14
We've been building towards this project in the previous set of videos. And we're now ready to build our very own DIY Alexa!
All the code for this project is on GitHub - https://github.com/atomic14/diy-alexa
What are we building - 1:15 Wake Word Detection - 2:27 Command Recognition - 11:47 Digging into the code - 16:30 What's life all about Marvin? - 21:52
To detect the wake words we stream audio from either an I2S microphone or from the ADC. The wake word detector looks at a 1-second window of audio. The spectrogram of the audio is calculated and fed into a TensorFlow Lite model.
Once we detect the wake word we stream the audio up to wit.ai to recognise the user's intent.
It works surprisingly well for such a small model, there are improvements that could be made with more training data.
I'll leave the access token for wit.ai live for as long as I can, but at some point, you will need to generate your own wit.ai application.
Let me know how you get on in the comments!
Related Videos:
Audio Input
https://youtu.be/VVGln_-XEgI https://youtu.be/3g7l5bm7fZ8 https://youtu.be/pPh3_ciEmzs
Audio Output
And TensorFlow Lite for machine learning
Parts Used:
Microphone - I recommend using an I2S Microphone such as the INMP441 or the ICS-43434
You can pick up INMP441 breakout boards on eBay and Amazon. I have an ICS-43434 breakout board on eBay - https://ebay.us/ZRym6k and Tindie - https://www.tindie.com/products/21519/
Speaker driver - I'm using the MAX98357A from Adafruit and a generic 4Ohm speaker from Amazon. https://www.adafruit.com/product/3006 ... https://www.youtube.com/watch?v=re-dSV_a0tM
138201075 Bytes