Keyword Spotter

TRY ME!
Record one of the keywords. Be quick: you have 1 second.
Hit 'Submit' and wait for the model to make a prediction.

The keywords are:
Yes, No, On, Off, Stop, Go, Up, Down, Left, Right






The predicted keyword is: ¯\_(ツ)_/¯

Keyword Spotter is a containerized web application deployed on an AWS EC2 instance, consisting of two components split across different Docker containers:

1. Application Container: Hosts both the Flask web framework and uWSGI, an application server that acts as a proxy to manage and forward requests to Flask. Flask handles the processing logic, utilizing TensorFlow to perform inference on audio files and predict a word based on the input data.

2. Web Server Container: Runs Nginx as a web server and reverse proxy. Configured to receive POST requests containing audio files from clients and forward them to the Flask application via the uWSGI proxy.

The client interacts with the system by sending audio files through POST requests to the Nginx server, which then routes these requests to the Flask application. After processing the audio file and performing inference, the Flask application returns the predicted word to the client.

The model is a convolutional neural network, built with TensorFlow and trained on a subset of the Speech Commands Dataset.



This work is based on a tutorial by Valerio Velardo.







Home