I have just finished building 2 Wyoming Satellites and have come to find out that perhaps the HA team has stopped working on this and switched to ESPhome. Is this the case, because I would hate to have to throw out this hardware. If they are still working on it, is there a roadmap to see when new features will hit, like continued conversation, music streaming and the like. Thank for any help anyone can give me.
#Is Wyoming Protocol getting further updates?
1 messages · Page 1 of 1 (latest)
Yeah, Wyoming needs a bit love.
Wyoming is still missing something very important (although I believe it's more a component of the pipeline than of Wyoming itself, it should still be supported by Wyoming if it's part of the pipelines), and that is speaker identification — for example, using Resemblyzer or SpeechBrain.
This is very important now that security is being added to Home Assistant. What’s the point of applying security to the UI but not to voice commands?
Let's hope that not only Wyoming, but the entire voice pipeline, won't be abandoned.
I ran some tests with SpeechBrain on my Wyoming proxy and it works pretty well—the proxy can tell whether it’s me or my wife speaking. The problem is that this kind of feature needs to be implemented in the core; for example, voice events should include the user’s identifier.
Let’s hope to see this in Home Assistant someday.
Would also love a way to trigger the wake word from the server.
You mean start conversation?
Kind of. What I would like is a way to manually trigger the satellite to start listening from a button push on the device, like the one I have here, or a dashboard. Like a manual wake button.
I’ve looked at start_conversation, but it doesn’t recognize any of my devices, and isn’t entirely what I am looking for.
If your satellite is ESPHome based you can call voice_assistant.start
First of all, sorry for continuing off-topic.
You can add a service directly in your satellite's YAML. For VPE, for example, it's enough to add this in the API section:
`api:
services:
- service: start_assist
then:- if:
condition:
switch.is_off: master_mute_switch
then:
# If a timer is ringing: Stop it, do not start the voice assistant (We can stop timer from voice!)
- if:
condition:
switch.is_on: timer_ringing
then:
- switch.turn_off: timer_ringing
# Stop voice assistant if running
else:
- if:
condition:
voice_assistant.is_running:
then:
voice_assistant.stop:
# Stop any other media player announcement
else:
- if:
condition:
media_player.is_announcing:
then:
- media_player.stop:
announcement: true
# Start the voice assistant and play the wake sound, if enabled
else:
- if:
condition:
switch.is_on: wake_sound
then:
- script.execute:
id: play_sound
priority: true
sound_file: !lambda return id(wake_word_triggered_sound);
- delay: 300ms
- voice_assistant.start:`
- if:
In case you're using a different YAML, the logic is the same: add a service that replicates your satellite's logic. I think with an Athom M5 with the firmware with microwakeword it would be something like this:
`api:
services:
- service: start_assist
then: on_wake_word_detected:- voice_assistant.start:
wake_word: !lambda return wake_word;`
- voice_assistant.start:
Well, PE and Wyoming are different things... 🙂
It's available on ESPHome firmware, but not on Wyoming satellite.
This gentleman offered up a solution but never seemed to go anywhere: https://github.com/rhasspy/wyoming-satellite/pull/144
Nice. Thank you.
I’ll be checking this out this weekend
Eh. Unfortunately this does not seem stable - at least with my setup. It triggered after about a minute delay and then never stopped listening. Will reach out to the dev
Alright this seems like the best place to ask this then.
Is there anyway to have continued conversation by just telling the satellite to keep listening for a few seconds and responding? Should say that I'm using Wyoming not esp.
There is a PR with the implementation of the required functions, but it was released for version 1.3. You will need to integrate it carefully. https://github.com/rhasspy/wyoming-satellite/pull/258/files
Using WS for this purpose is much more difficult than using ESP.