synesthesiam / homeassistant-satellite

Streaming audio satellite for Home Assistant
MIT License
188 stars 23 forks source link

(Possibly) local wake word detection via wyoming #38

Closed chatziko closed 1 year ago

chatziko commented 1 year ago

This PR implements wake word detection by forwarding audio to a wyoming server, with the obvious use case of running it locally on the satellite machine.

The alternative "local" approach would be to embed the detector (and of course we can implement both), but I think wyoming has several advantages:

Technical notes:

I'd be happy to discuss alternative solutions, of course.

beqabeqa473 commented 1 year ago

Hi.

That would be great to somehow get local wakeword detection in terms of speed and minimum packets comming through network. I think we can have both of these options, with wyoming and using wakeword detector engine directly, second will be good with low-end machines but with possibility to run wakeword without problem, but it is not maybe related to this pr.

chatziko commented 1 year ago

I doubt running a wyoming server on the same machine makes any performance difference wrt an embedded detector, it's a very thin wrapper. But I haven't tested it, maybe it does. In fact, on a very low end machine the ability to run a lighter detector (eg porcupine) might be more important.

Of course having an embedded detector would make it easier to use (only one thing to install).

beqabeqa473 commented 1 year ago

Yes, If we have A detector which we can run and it is written in more efficient language than python, it would be better for very poor devices which still could be used for satelite rather than run one more python interpreter.

synesthesiam commented 1 year ago

Thanks!