Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot wake Picroft after "Mycroft, go to sleep" #45

Open
martini1992 opened this issue Apr 11, 2022 · 9 comments
Open

Cannot wake Picroft after "Mycroft, go to sleep" #45

martini1992 opened this issue Apr 11, 2022 · 9 comments
Labels

Comments

@martini1992
Copy link

Describe the bug
Cannot wake Picroft after "Mycroft, go to sleep" as "Mycroft, wake up" always triggers the plain "Hey Mycroft" wakeword, could also be that "go to sleep" is triggering the muting but not setting the sleep state.

"Wake up" seems to be implemented with pocketsphinx according to the log.

To Reproduce
Steps to reproduce the behavior:

  1. "Hey Mycroft, go to sleep"
  2. Let time pass (few minutes)
  3. "Hey Mycroft, wake up"
  4. "Mycroft, wake up"
  5. "Wake up"
  6. Get fed up and just reboot

Expected behavior

  1. "Hey Mycroft, go to sleep"
  2. Let time pass (few minutes)
  3. "Hey Mycroft, wake up"
  4. Mycroft is awake and responsive

Log files
If possible, add log files from /var/log/mycroft/ to help explain your problem.

You may also include screenshots, however screenshots of log files are often difficult to read and parse.

If you are running Mycroft, the Support Skill helps to automate gathering this information. Simply say "Create a support ticket" and the Skill will put together a support package and email it to you.

Environment (please complete the following information):

  • Device type: Raspberry Pi 4B 1GB
  • OS: Picroft
  • Mycroft-core version: 21.2.2
@krisgesling
Copy link
Contributor

Hey, thanks for creating an issue.

You're right that "Wake up" is done using PocketSphinx by default and it sounds like that's most likely not working well for your voice.

You can try and tweak the PocketSphinx settings for the wake up hotword, but ultimately we need to train a nice "wake up" Precise model. We've got some more precise working coming up soon - I'll need to check how much data we have from our opted-in users for this.

@martini1992
Copy link
Author

martini1992 commented Apr 18, 2022 via email

@krisgesling
Copy link
Contributor

Unless I've misunderstood the suggestion - the problem is that no utterance will be fed to the intent service if the device is in a sleep state. This is because it very explicitly shouldn't send any audio out to get transcribed by the STT. Once we have on-device local STT working well then this could change.

I opened #44 to add a "wake up" intent but this should only be triggered when the device is already awake. The reason for that was people weren't sure if their device was asleep or not, and asking it to wake up fell through as an unknown intent.

@martini1992
Copy link
Author

martini1992 commented Apr 19, 2022 via email

@krisgesling
Copy link
Contributor

There must be something else going wrong on your device. If it's performing any STT then it's not getting into a sleeping state.

When it's sleeping the recognizer loop sends the audio data to the wake up recognizer. When it's not sleeping the audio data is sent to the STT. You can see the split here and follow those paths:
https://github.com/MycroftAI/mycroft-core/blob/dev/mycroft/client/speech/listener.py#L160

@martini1992
Copy link
Author

Yes, as I said, it is muting the system volume but state.sleeping must be evaluating to false because it hits the normal wakeword listener, I have the Google aiy v1 voice hat and the matching skill so the button lights up when Mycroft is listening for STT, it's also shown in the logs. But the logs don't show any info about the device entering sleep state, or any errors after you tell it to sleep, it responds to the sleep command as expected and mutes, but it still listening for the normal "hey, Mycroft". Instructing it to sleep again whilst in this weird state shows it hears and responds in the logs as though it was awake but no audio.

@martini1992
Copy link
Author

I have been able to collect some logs of todays try, I was able to get "Wake up" to trigger once today. But notice at the end the system is asleep but "Hey, Mycroft" is still causing it to listen, all through that last section I was saying "wake up" (trying a few different accents including my best New Yorker :P) followed by a "hey, mycroft" to see if it had unmuted, and it hadn't.
audio.log
voice.log

@krisgesling
Copy link
Contributor

Yeah the current wake up process requires you to say the wake word, followed by the wake up command. Eg "Hey Mycroft, wake up". So it will still say that it's activating the listener. but the difference is whether that is being sent to the STT service or to pocketsphinx.

Could definitely improve the logging to make that clearer.

@bneumann
Copy link

bneumann commented Nov 19, 2022

Oh good to know that this is an issue. I thought it might be due to missing translation in German. I am fiddeling with the docker version currently and ran into that issue. If I say "Hey Mycroft, wach auf" in German Mycroft is not reacting at all. If I say "Hey Mycroft, wake up" in English it cannot understand me (maybe some issue with the language). If I type "wake up" it tells me it is awake (in english), which he is not. If I type "wach auf" in German he cannot understang me :)

I am kinda stuck with this. Any way I could help investigating?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants