synesthesiam / homeassistant-satellite

Streaming audio satellite for Home Assistant
MIT License
186 stars 21 forks source link

which OpenWakeWord ? #25

Closed donburch888 closed 9 months ago

donburch888 commented 9 months ago

I have followed instructions to setup Voice Assist on my HA machine; installing Wyoming, Piper, Whisper and OpenWakeWord v1.7.1 No errors in the logs, I I guess they are working correctly.

To use as satellite my RasPi 3B with USB mic and headphone (which I have been using as a Rhasspy satelite); I have installed as described here BUT instructions state "You must have the openWakeWord add-on installed." which link points to installing a different OpenWakeWord v 1.5.0, also on HA

And to confuse matters further, In How to use openwakeword HASS addon on a sattelite ARM board ? @synesthesiam refers to a 3rd openWakeWord

chatziko commented 9 months ago

The official OpenWakeWord v1.7.1 addon should be used together with homeassistant-satellite.

The README links to a "work-in-progress" addon from the rhasspy repo (used before the official one existed), the link should be updated soon.

Finally the post you mention refers to openwakeword-satellite: this is a standalone satellite (not an addon), similar to homeassistant-satellite, but which runs openWakeWord locally (hence it doesn't need an addon). But it's work-in-progress.

donburch888 commented 9 months ago

Thanks for the clarifications.

I did use the 1.7.1 version and discovered my main problem was the cheap USB microphone I have been using. Swapping to a professional-looking desk mic is saving nice clear audio files - but openWakeWord is still being a teenager deliberately mishearing 2/3 of my commands no matter how clearly I speak :-( I will do more research and testing and follow up in appropriate forum.

openwakeword-satellite is what I'm really after to run wakeword locally on my RasPi 3 satellites - but I understand it wasn't the main focus for development, and so still in progress. I shall keep an eye open for future releases.

chatziko commented 9 months ago

openwakeword-satellite is what I'm really after to run wakeword locally on my RasPi 3 satellites - but I understand it wasn't the main focus for development, and so still in progress. I shall keep an eye open for future releases.

I expect homeassistant-satellite itself to get support for local wakeword quite soon (I'm experiment with this myself). Stay tuned :smile:

chatziko commented 9 months ago

You can test #38 if you want local detection :smile:

donburch888 commented 9 months ago

I would love to test this ... but my software development days were a long time ago in a galaxy far away (1980s and 90s pre linux and git) so it will take me a while to get my head around how to do this.

From the description I assume i will also need to install openWakeWord separately on my satellite ? The rhasspy/wyoming-openwakeword or synesthesiam/openwakeword-satellite version, or dscripka/openWakeWord ?

chatziko commented 9 months ago

Cmon, software development those days was the real deal (I did a bit of BASIC in the 90s when growing up), nowdays kids just follow tutorials and copy ChatGPT :smile:

You need to run https://github.com/rhasspy/wyoming-openwakeword in your satellite, the easiest is probably via docker, with

docker run -it -p 10400:10400 rhasspy/wyoming-openwakeword \
    --preload-model 'ok_nabu'

Then checkout the wyoming-wake-word branch from my repo and start homeassistant-satellite with --wake-word=wyoming.

donburch888 commented 9 months ago

Chatziko, I did say I haven't figured out how to use git properly ... so I did the following to install your fork:

cd .. rm -r homeassistant-satellite\ git clone https://github.com/chatziko/homeassistant-satellite.git script/setup cd homeassistant-satellite .venv/bin/pip3 install .[wyoming] script/run --host 192.168.1.98 --token eyJhbGciOiJI1...HkVKQwgsCDQ --mic-device plughw:CARD=ABTWPDQ0222M,DEV=0 --snd-device plughw:CARD=Headphones,DEV=0 --awake-sound sounds/awake.wav --done-sound sounds/done.wav --auto-gain 5 --vad webrtcvad --wake-word wyoming

and got error __main__.py: error: unrecognized arguments: --wake-word wyoming

Also I was planning to run homeassistant-satellite as a service, and wyoming from command line since I have managed to totally avoid Docker so far. My thinking being that I have only been using my RasPis for single purpose, so why add a layer to separate multiple tasks. if I were doing development as a job I would make the effort to learn, but as a hobby it takes so much longer for anything new to stick in my 60-year-old brain ;-)

chatziko commented 9 months ago

The PR is now merged, so no need to use my fork anymore, just use the main repository.