Allow routing the audio output to a media player #689
Replies: 3 comments 1 reply
-
|
I have been waiting for this since the voice assistant became a thing. I got a bunch of M5 echo devices since i planned to put them all around my apartment. The sound in them were horrible though and would really like to output to my Sonos speakers i have in every room! |
Beta Was this translation helpful? Give feedback.
-
|
To add a little more context to your request, the PE streams both the listening and replying steps into the pipeline. This allows for the pipeline to begin STT (converting your speech to text for computation) and TTS (converting response text to speech for playback). Because of that, the pipeline is designed to reply directly to the device/entity which recorded the request to save time. Without streaming, both the request and response would be saved as an audio file each way and increase latency. With streaming, actions can start while the files are written. My code above is simply a workaround to use the audio file after response creation. What I have found, on my system at least, is the delay is negligible. There also considerations for long replies (ie, tell me a story) where streaming allows the reply to start now, versus loading the whole story while the user waits before beginning the response. Currently, the only way around this process is to capture the url of the response audio file, silence the response of the PE and play the audio file as a (in my case using) Music Assistant announcement on the desired SONOS speaker. You could also choose a normal (non-music assistant call) media_player.announce feature and create your own logic for music pause and/or ducking (muting). Either way, a long response will make you wait. Unfortunately, there is no way of separating the response from the pipeline without completely rewriting the PE firmware. You could absolutely take 100% control of the PE and fully rewrite the firmware as a new Wyoming satellite. In this manner, you would create your own pipeline and dictate exactly how the input, processing and output stages happen. That's more time than I am willing to invest. This is an easier solution. Like you, I think it would be nice to have an option to choose the output device rather than the reply automatically come back to the PE without a choice. My code is an extension of the work found here: https://community.home-assistant.io/t/redirect-voice-pe-replies-to-sonos/926652 Snapjack does a good job of making a helper to allow him to choose "where" his response goes too. Just a little light reading. Unfortunately, both of these code blocks are just workarounds. A native solution would be nice. |
Beta Was this translation helpful? Give feedback.
-
|
I would love this option, too. I was recently given an Ikea Symfonisk speaker. I've got an automation working which allows me to use it in a similar way to how I've been using my Voice Assistant Preview device as a media player but I don't want to reinvent the wheel, use aliases, etc. to get it 1:1. I really just want to use it as a dumb sink for the VA's audio output. For the sake of completeness, I asked about this on Reddit before finding this GH issue: https://old.reddit.com/r/homeassistant/comments/1t9j6ye/replace_voice_assistant_speaker/ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the feature
I'm very satisfied with the Home Assistant Voice PE! But now I want to have better sound on its output. Of course, the aux output helps but I want to make the sound output in my soundbar (Samsung HW-Q995C) which doesn't have an aux input. For example, Alexa can output to it through the Smartthings integration. So, I thought Home Assistant could route the voice output to this device or any other integrated media output device.
Example commands
No commands. It should be some sort of configuration where we can set this output and it would pull the strings inside the HA event system to trigger an event to the selected media output.
Use cases
This would overcome the biggest pitfall of Voice PE: the sound output. By hooking into the power of home assistant, any connected speaker could be the output of the Voice PE device.
Anything else?
If there are any ways to do this today, please share. Couldn't find anything correlated in the forums.
Beta Was this translation helpful? Give feedback.
All reactions