Nyumaya offline audio classification. Libraries are available for Linux, WASM, RaspberryPi, ESP32S3, Android. Experimental Libraries are also available for MAC, iOS, Windows
For esp32s3 support look at its example and library
To run an example
git clone --depth 1 https://github.com/nyumaya/nyumaya_audio_recognition.git
cd nyumaya_audio_recognition/examples/python
python3 simple_hotword.py
The python demo captures audio from the default alsa microphone.
A web demo is available here. This has been tested with recent versions of Chrome and Firefox.
Models and the Library are Versioned with \<major>.\<minor>.\<revision> Models must match the \<major>.\<minor> version of the library to be compatible.
The sensitivity parameter is a tradeoff between accuracy and false positives. Setting the sensitivity to a high value means it's easier to trigger the hotword. If you experience a lot of false detections, set the sensitivity to a lower value.
You can run the audio_check script to get some info about your volume level and possible DC-Offset. Speak as loud as the maximum expected volume will be.
python check_audio.py
The multi_streaming_example.py is a demo of how to chain commands. You can add commands with a list of words and function to call when the command is detected.
mDetector.add_command("marvin,on",light_on)
mDetector.add_command("marvin,stop",stop)
Be aware that CPU usage increases a little bit when multiple models have to run concurrently. I this case the software has to run the marvin_model (marvin) and the subset_model (stop) at the same time.
mDetector.add_command("marvin,on",light_on)
mDetector.add_command("stop",stop)
Custom Keywords can be requested for evalutaion and commercial use here
Libraries for other targets can be requested for commercial customers.