AlexxIT / StreamAssist

Home Assistant custom component that allows you to turn almost any camera and almost any speaker into a local voice assistant
MIT License
212 stars 19 forks source link

Conversation instead of Wakeword with StreamAssist is working #52

Open Coketrd opened 1 week ago

Coketrd commented 1 week ago

Hi Alexx,

i combined youre great StreamAssist (thanks for this great integration) with my mp3-time-extract-script. Now its possible to do a normal conversation with the StreamAssist instead of needing everytime a wakeword. the conversationmode can be activated and disabled. But i have one thing i cant found to make the conversation better. How i can make the listentime by the sst start longer? Because now we must react very fast after the beep sound. And maybe i can delete the another beep by conversation mode then.

if my solution is finish i will share it.

Thanks for youre help.

AlexxIT commented 5 days ago

StreamAssist does not have its own conversation logic. It simply invokes the Home Assistant's built-in mechanics. It's pretty hard to get involved there:

https://github.com/AlexxIT/StreamAssist/blob/49fde307ea11ecd1495b2bdcff3409217fe10b10/custom_components/stream_assist/core/__init__.py#L150-L165

Coketrd commented 4 days ago

StreamAssist does not have its own conversation logic. It simply invokes the Home Assistant's built-in mechanics. It's pretty hard to get involved there:

Yes, unfortunately I have already noticed that. In this fork here they reached this step. but unfortunately without the wakeword detection inside. https://github.com/asmsaifs/StreamAssist i tried to combined it but i havent enough knowledge to integrated the wakeword there. thanks for youre replay.

Coketrd commented 3 days ago

I have now managed to get the VoiceCommandSegmenter integrated. It is not a visually appealing solution as you currently only have to change the values in the script and restart HA to apply them. Also, the settings are currently global and cannot be evaluated for every device. But it is a start and looks like it works.

You can adjust the following values: vad_mode vad_silence_second vad_speech_second vad_timeout_seconds vad_reset_seconds

Best regards