@Dark1886 This is a post with many links discussing this effort.
The first announcement I saw of the satellite was on The Verge in April of this year.
The satellite was also discussed in the Year of Voice Chapter 7 Livestream, at about 01:58:00.
@Dark1886 This is a post with many links discussing this effort.
The first announcement I saw of the satellite was on The Verge in April of this year.
The satellite was also discussed in the Year of Voice Chapter 7 Livestream, at about 01:58:00.
Itās important to note that the āReSpeaker Liteā is a different product than what Nabu Casa is developing, even though they have similar internals.
So we have 3 voice satellites that should be available by the end of the year:
All three will feature some variant of the ESP32-S3 running ESPHome and the XMOS XU316 chip for audio processing. They will differ, however, in their enclosures, sensors, and LEDs, buttons, expansion ports, etc. The hope is that there will be something for everyone ![]()
Hi, Iām making my voice assistant with a rpi4 and a Raspiaudio Ultra++, I download the drivers following the instruction on the website (GitHub - waveshareteam/WM8960-Audio-HAT: The drivers of [WM8960 Audio HAT] for Raspberry Pi), anyway itās a wm8960 soundcard and you can find them easily.
In my case I can install wyoming, openwakeword and itās kind of working and can arecord and aplay, sometimes my rpi recognise the wake word but then get stucked. I have found that the service wm8960-soundcard.service failed to start and it looks it records the wake word once, then it crash.
the service log shows:
Ć wm8960-soundcard.service - WM8960 soundcard service
Loaded: loaded (/etc/systemd/system/wm8960-soundcard.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Fri 2024-10-18 22:33:40 CEST; 3s ago
Process: 1891 ExecStart=/usr/bin/wm8960-soundcard (code=exited, status=99)
Main PID: 1891 (code=exited, status=99)
CPU: 242ms
Oct 18 22:33:38 assistant systemd[1]: Starting wm8960-soundcard.service - WM8960 soundcard service...
Oct 18 22:33:38 assistant wm8960-soundcard[1891]: + exec
Oct 18 22:33:38 assistant wm8960-soundcard[1892]: ++ basename /usr/bin/wm8960-soundcard
Oct 18 22:33:40 assistant systemd[1]: wm8960-soundcard.service: Main process exited, code=exited, status=99/n/a
Oct 18 22:33:40 assistant systemd[1]: wm8960-soundcard.service: Failed with result 'exit-code'.
Oct 18 22:33:40 assistant systemd[1]: Failed to start wm8960-soundcard.service - WM8960 soundcard service.
I am not sure if Iāve done something wrong, at the moment I think thereās nothing to do with HA yet.
Someone have advice about how to deal with this problem?
Later this eveving I can post the wyoming service config.
I had a read of the repo you provided and the first thing I noticed was that it is recommended to manually build the application. Did you do that?
The other thing I noticed was that there are a few open issues that describe an issue with the application exiting prematurely. I suggest reading through the open and closed issues and see if there are any tips that get you going. The last advice I can give is to open your own issue for the developer to review and possibly comment on. Let us know how you make out.
@pcwii thank you for the reply, I am not a programmer, this is just my hobby. I have double checked all the issues and it seems there are very similar opened, I will try to find a workaround, or carry on with Wyoming satellite and the integration on HA if the sound card service is not āessentialā, since I could aplay and arecord.
I will update this.
Could you please help me or share the config?
I am stucked here:
Nov 08 08:56:46 assistant run[3769]: INFO:root:Ready
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Detected IP: 20.20.1.12
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Zeroconf discovery enabled (name=dca6328950b2, host=None)
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Connecting to mic service: ['arecord', '-D', 'plughw:CARD=seeed2micvoicec,DEV=0', '-q', '-r', '16000', '-c', '1', '-f', 'S16_LE', '-t', 'raw']
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Connecting to snd service: ['aplay', '-D', 'plughw:CARD=seeed2micvoicec,DEV=0', '-q', '-r', '22050', '-c', '1', '-f', 'S16_LE', '-t', 'raw']
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Connecting to wake service: tcp://127.0.0.1:10400
Nov 08 08:56:46 assistant run[3769]: INFO:root:Connected to services
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Using webrtc audio enhancements
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Connected to mic service
Nov 08 08:56:46 assistant run[3769]: DEBUG:root:Connected to wake service
Nov 08 08:56:58 assistant run[3769]: DEBUG:root:Server set: 70639530781646
Nov 08 08:56:58 assistant run[3769]: INFO:root:Connected to server
Nov 08 08:56:58 assistant run[3769]: DEBUG:root:Running ['examples/commands/streaming_stop.sh']
Nov 08 08:56:58 assistant run[3783]: Audio streaming to server has stopped
Nov 08 08:56:58 assistant run[3769]: INFO:root:Waiting for wake word
Nov 08 08:56:58 assistant run[3769]: DEBUG:root:Started recording to /home/hass/wyoming-satellite/local/debug-recording/70639535185675-wake.wav
Nov 08 08:57:00 assistant run[3769]: DEBUG:root:Ping enabled
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Stopped recording to /home/hass/wyoming-satellite/local/debug-recording/70639535185675-wake.wav
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Started recording to /home/hass/wyoming-satellite/local/debug-recording/70639535185675-stt.wav
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Detection(name='ok_nabu_v0.1', timestamp=70740442340518, speaker=None)
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Streaming audio
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Event(type='run-pipeline', data={'start_stage': 'asr', 'end_stage': 'tts', 'restart_on_end': False, 'snd_format': {'rate': 22050, 'width': 2, 'channels': 1}}, payload=None)
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Running ['examples/commands/detection.sh']
Nov 08 08:58:39 assistant run[3789]: Wake word detected: ok_nabu_v0.1
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Muting microphone for 0.8995918367346939 second(s)
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Running ['examples/commands/streaming_start.sh']
Nov 08 08:58:39 assistant run[3792]: Audio streaming to server has started
Nov 08 08:58:39 assistant run[3769]: DEBUG:root:Connected to snd service
Nov 08 08:58:40 assistant run[3769]: DEBUG:root:Unmuted microphone
my config:
[Unit]
Description=Wyoming Satellite
Wants=network-online.target
After=network-online.target
Requires=wyoming-wakeword.service
[Service]
Type=simple
User=hass
Environment=XDG_RUNTIME_DIR=/run/user/1000
ExecStart=/home/hass/wyoming-satellite/script/run \
--name 'Assist' \
--uri 'tcp://0.0.0.0:10700' \
--mic-command 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -q -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -q -r 22050 -c 1 -f S16_LE -t raw' \
--awake-wav '/home/hass/wyoming-satellite/sounds/awake.wav' \
--done-wav '/home/hass/wyoming-satellite/sounds/done.wav' \
--timer-finished-wav '/home/hass/wyoming-satellite/sounds/done.wav' \
--mic-noise-suppression 2 \
--mic-auto-gain 5 \
--wake-uri 'tcp://127.0.0.1:10400' \
--wake-word-name 'ok_nabu' \
--debug \
--debug-recording-dir '/home/hass/wyoming-satellite/local/debug-recording' \
# --mic-seconds-to-mute-after-awake-wav 0.1 \
--wake-refractory-seconds 10 \
--tts-stop-command 'true' \
--detection-command 'examples/commands/detection.sh' \
--startup-command 'examples/commands/startup.sh' \
--streaming-start-command 'examples/commands/streaming_start.sh' \
--streaming-stop-command 'examples/commands/streaming_stop.sh' \
--synthesize-command 'examples/commands/synthesize.sh' \
--stt-start-command 'examples/commands/stt_start.sh' \
--stt-stop-command 'examples/commands/stt_stop.sh' \
--tts-start-command 'examples/commands/tts_start.sh' \
--tts-stop-command 'examples/commands/tts_stop.sh'
# --event-uri tcp://127.0.0.1:10500
WorkingDirectory=/home/hass/wyoming-satellite
Restart=always
RestartSec=1
[Install]
WantedBy=default.target
Even if on the satellite there is the degub message āAudio streaming to server has startedā in HA I still cant see the āassist in progressā⦠(but the mute button is working)
I made my own personal Voice Assistant using the Wyoming Protocol with Pi Zero 2W and a ReSpeaker 2Mic HAT for use with Home Assistant.
Itās got on-device wakeword, volume ducking, multi-room audio support using snapcast, tts. I used an old beats pill as the audio output which sounds way better than the cheaper DIY options!
I have made an in-depth step-by-step tutorial if anyoneās interested in making their own.
You can check it out GitHub - sayam93/Pi-Voice-Assistant
Hello, I ran into this nice project on YT and basically led me here. I have a PI 5 laying around and also the ReSpeaker 2-mic Pi Hat, and I followed the instructions from the GitHub for the Wyoming Satellite driver and all of the dependencies, but for some reason my PI 5 does not want to capture and run a record test.wav. I also used ChatGTP to assist me in this process and took me on a wild-loop with nothing resolved. My question is, is this project only compatible with PI W? Thanks for any feedback!
Iāve it running on a Pi 3 B however I used a separate mic and speaker using this install process. Try this thread to see if it helps resolve the issues: https://github.com/HinTak/seeed-voicecard/issues/19
I have my wyoming-satellite service running on a Rasp zero 2 with a Respeaker 2Mic HAT with the 2mic_leds.service also running. I did not install the Wyoming openWakeWord service because it works fine right now without it. On my Home assistant I can access the open wakeword add-on and change settings from there. The whole thing works great right now. So my question to you guys is: āWhy would I need to install the openwakeword service on the Pi Zero?ā (My HA is running on an intel i7 so plenty of power, more so than a Pi Zero 2 right?)
I was having problems with the install so I tried without it.
Another question. Is there a way to not have to say He Jarvis when Iām answering a question right away?
So I say: Hey Jarvis, whatās the temperature in the home"
It answers: bla bla bla
And I want to say right away: āokay, then turn the thermostat onā
But right now, I have to say Hey Jarvis each time.
Whatās the option to change this?
Hi all,
not sure if this is interesting, but i am currently working on a fork of the rhaspy-satellite. I created a docker build at github and you can setup the voice-satellite, the 2mic_hat led and wakeword only with one docker-compose file.
Meaning you just need to install the 2mic_hat driver and then you can deploy docker-compose and the satellite is ready.
I hesitated posting this, because the documentation is still work in progress.
For the future i also want to merge some PR from the main repo that looks really promising. If nabucase continue the work on the main branch i may merge my effort.
Have a look at GitHub - florian-asche/pi-voice-assistant: HomeAssistant voice satellite using Wyoming protocol.
Shouting out this project by @dreed47
Makes setting up a Wyoming Satellite a breeze! Looking forward to the docker setup from @florian-asche as well.
We need more automated installers like these that also add enhancements like audio ducking, pulse audio, etc.
hi @ginandbacon
Iām from Germany and havenāt really found anything on this topic in our forum.
Iām not a programmer, but Iāve successfully got a Wyoming Satellite running. Now Iād really like to output the voice output to my Sonos speakers.
I donāt have the know-how for thatā¦
I think I understand that I need to add the following code to my setup hereā¦
is it right???
I also know how to create a token in HA, but where can I find the script below? Or where do I have to create it. Or even better would be a step-by-step guide from there
I would be extremely grateful for your help.
Thank you
Hey, i installed the satellite with the script, but i canāt open the menu with the command āmā or āmenuā
can you help me?
The files is in the wyoming_satellitendirectory under examples/commands/synthesize.sh Synthesizesh is the file that needs to be updated. Iām not sure what you mean by the āmā or āmenuā command. After updating the Wyoming satellite service file and adding the above it should just work.
I know this is over 6 months later, but Iām currently trying to get the custom wake word to work. I have the tflite file, the only thing I canāt figure out how to do is actually copy the file to the correct directory from my PC to the satellite?
I can navigate to the directory and ālsā to see all the other wakeword files, but how do I actually put my custom one there. Sorry, Iām sort of new to this part of the tech world, so forgive me if the answer is obvious.
Could anyone help me out?
Open your terminal. Use teh following command:
scp *YOUR FILE LOCATION*\YOURWAKEWORDFILENAME_v0.1.tflite familyroomsatellite@familyroomsatellite:/home/familyroomsatellite/wyoming-openwakeword/wyoming_openwakeword/models
You need to replace my satellite username and stuff with yours.
Follow my instructions on how to name the wake word file in the earlier post.