I’ve seen the guide to setting up wake-word detection with the M5 Atom Echo hardware, but is there a reason the HA front-end couldn’t be configured to handle wake-word detection from a local microphone through the browser?
On my Windows 10 machine, I am able to navigate to my HA front-end in a browser and click the little assist button in the corner, and then click the microphone to send a voice request to HA Assist. Is there a way to do this with a wake-word if I just leave my browser open? And if not, what’s stopping that functionality from happening? Is it a security issue with allowing a browser constant access to the microphone or something else?
Could that functionality even be developed for HA in a browser? I’m mostly just trying to understand why this would have been developed for the M5 Atom Echo device before just setting this up through the web front-end? I honestly know next to nothing about web development… so pardon my ignorance… I was just curious if anyone knows the development hurdles for something like this?
Supporting a wake word on the web is (in my opinion) completely unrelated to whether https is required. From a browser perspective, once https is enabled, nothing is stopping a website from indefinitely accessing the microphone.
This can be proven by opening the following link, allowing access to the microphone, and leaving the page open. Microphone | Web Audio API
Therefore, the limitation of lack of wake word support is squarely in the implementation of the Home Assistant web UI, not a browser API issue.
Microphone access requires a secure context, yes - but the HA web UI already supports a microphone (and correctly requires https), so mentioning it as a blocker for supporting wake words feels a little disingenuous. If we were talking about introducing mic support at all, sure. I’d agree - but that’s not the topic.
You could say “a HA instance is unlikely to have a secure context, therefore adding wake word support feels unnecessary”, which is a valid opinion to have. I was simply attempting to clarify that difference for aaaaa, and anyone else coming across this thread.
I’ve just checked the HA frontend repo, and it looks like nobody has attempted wake word support on the web yet. So it’s theoretically possible, but I’d agree unlikely.
Generally, it seems the more recommended method is to use wyoming satellite, though that’s only really supported on Linux at this time.