feat(m5-atom-echo): Added seperate firmware for continuous use#119
Closed
AnnikenYT wants to merge 4 commits intoesphome:mainfrom
Closed
feat(m5-atom-echo): Added seperate firmware for continuous use#119AnnikenYT wants to merge 4 commits intoesphome:mainfrom
AnnikenYT wants to merge 4 commits intoesphome:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What?
This PR enables the echo to always use continuous mode - The assistant starts in continuous on wake word, and stops if a new request hasn't been made (as in, you haven't started speaking again) within the 10 seconds after the response has been played.
Why?
It solves my personal want to add the ability for an Assistant to ask follow-up questions, or to put forward multiple requests without having to awkwardly repeat the wake-word multiple times as I can with google assistant.
How?
I've added a global (
has_new_request) which, if not set totrueafter 10 seconds, callsvoice_assistant.stop.The variable is reset
on_endtofalseof a va request, and set totrueonon_stt_vad_start. I've also set the va to change the led color as I found it frustrating to not see whether the next request is accepted or not, but I'm happy to revert that change. I've then toldmicro_wake_wordtostart_continuouson_wake_word_detected.Does it work?
In my office while I'm alone in a quiet space? Yes. While I'm watching a video or talking to someone? No, the assistant keeps re-prompting as VAD triggers again and again (obviously).
(potential) ToDos?
This just seems like an easy solution to have this work while watching a movie/talking to someone/etc.
I've gotten far enough with prompt engineering to where my Assistant reliably calls "HassNevermind" when the conversation ends, but as it's (as far as I'm aware) not possible to get the intent that's being processed on the device, I haven't found a way to have the assistant stop the conversation naturally.