toverainc / willow

Open source, local, and self-hosted Amazon Echo/Google Home competitive Voice Assistant alternative
https://heywillow.io/
Apache License 2.0
2.61k stars 96 forks source link

Initial multiwake support #264

Closed stintel closed 1 year ago

stintel commented 1 year ago

This PR implements handling of multiple Willow devices waking at the same time. With WAS support, only the Willow device with the highest wake word volume will send a command to the endpoint. Without WAS support, Willow will function like before.

It is possible to trigger VAD START before the wake_result is received from WAS, which will cause Willow devices who have lost the wake race to start streaming to WIS already. This should be improved, but will require some refactoring. For now, this should be good enough to demonstrate the feature, but the feature should be considered experimental.