Add skill to disable/enable listening for wake word#286
Add skill to disable/enable listening for wake word#286Stypox merged 3 commits intoStypox:masterfrom
Conversation
72d1b60 to
4a89bec
Compare
|
Rebased against latest version and cleaned up. |
Stypox
left a comment
There was a problem hiding this comment.
Thank you, this can be quite useful!
The value in the settings is used to set which wakeword engine to use (although now there is only OpenWakeWord), and might be on even if there is no wakeword service running (e.g. if the model has not been downloaded yet, or if the user STOPped it before).
So I would prefer if this was implemented by just sending an intent to start/stop the service. The STOP button in the notification already sends the stop intent, so you can look at that. When Dicio is reopened from scratch, the service will start again automatically.
Even if you were to implement a settings-based approach in the end, I would avoid having too many abstractions and just pass DataStore directly to skills.
| - mute | ||
| - mute microphone |
There was a problem hiding this comment.
You can compress these with "mute microphone?"
| - unmute | ||
| - on mute | ||
| - unmute microphone | ||
| - on mute microphone |
There was a problem hiding this comment.
And these with "unmute|(on mute) microphone?"
app/src/main/res/values/strings.xml
Outdated
| <string name="skill_listening_started_listening">Okay, I\'ll listen for the wake word</string> | ||
| <string name="skill_listening_not_listening">I wasn\'t listening</string> | ||
| <string name="skill_listening_stop_listening">Okay</string> | ||
| <string name="skill_name_listening">Control listening</string> |
There was a problem hiding this comment.
| <string name="skill_name_listening">Control listening</string> | |
| <string name="skill_name_listening">Control wake word listening</string> |
|
Thanks! I will make these changes. Note that there was a reason I didn't pass the |
That's true. One alternative would be to add |
|
I believe I have made the requested changes! |
Stypox
left a comment
There was a problem hiding this comment.
This is cool, thank you! I made a few additional small changes which I pushed directly to master as I did not have permission to push here
Hello!
This pull request contains a simple skill to enable and disable wake word detection. The use case is that sometimes I may be at a location where it would be very problematic to have my phone's microphone activated, and it would make me feel more comfortable if I could easily disable Dicio's wake word detection feature.
I want to be able to easily say, "Hey Dicio, stop listening," and then have it no longer listen for the wake word until I go into the app and explicitly re-enable it. That could either be in the settings page or by manually triggering Dicio and saying "Start listening." This is what I've implemented. I also included some other aliases, such as "mute microphone" and "unmute microphone." (I also included "on mute microphone" as an alias for "unmute microphone" because the Speech-to-Text algorithm interprets my accent that way.)
Some quick background: I'm interested in building some complex voice assistant skills that aren't available on commercially available assistants. Dicio looks like a good platform to use for this, but since I only started learning Android development and Kotlin three hours ago, I figured I'd try some building some simpler skills first.
I would like to contribute back this skill and potentially any other skills I make, but I'm not sure whether they would be useful to a wider audience. If not, I'm happy to keep them in my own fork.
I'm not totally happy with how I implemented this skill, particularly the SettingsAccess proxy, so if you have any feedback on the code and/or design, I would be very interested in hearing it.
Thank you for your time!