OVOS Listener - WakeWords / HotWords
OVOS uses "wakewords" to activate the system. This is what "hey Google" or "Alexa" is on proprietary devices. By default, OVOS uses the WakeWord "hey Mycroft".
OVOS "hotwords" is the configuration section to specify what the WakeWord do. Multiple "hotwords" can be used to do a variety of things from putting OVOS into active listening mode, a WakeWord like "hey Mycroft", to issuing a command such as "stop" or "wake up"
As with everything else, this too can be changed, and several plugins are available. Some work better than others.
Mike Grey created a great blog post about the WakeWords also.
List of OVOS WakeWord Plugins
Plugin | Type | Description |
---|---|---|
ovos-ww-plugin-precise-lite | Model | The most accurate plugin available as it uses pretrained models and community models are available also |
ovos-ww-plugin-openWakeWord | Model | Uses openWakeWord for detection |
ovos-ww-plugin-vosk | Full Word | Uses full word detection from a loaded model. |
ovos-ww-plugin-pocketsphinx | Phonomes | Probably the least accurate, but can be used on almost any device |
ovos-ww-plugin-hotkeys | Model | Use an input from keyboard or button to emulate a wakeword being said. Useful for privacy, but not so much for a smart speaker. |
ovos-ww-plugin-snowboy | Model | Uses snowboy wakeword engine |
ovos-ww-plugin-nyumaya | Model | WakeWord plugin using Nyumaya |
Configuration
The configuration for wakewords are in the "listener"
section of mycroft.conf
and configuration of hotwords is in the "hotwords"
section of the same file.
This example will use the vosk plugin and change the wake word to "hey Ziggy".
Add the following to your ~/.config/mycroft/mycroft.conf
file.
{
"listener": {
"wake_word": "hey_ziggy"
},
"hotwords": {
"hey_ziggy": {
"module": "ovos-ww-plugin-vosk",
"sound": "snd/start_listening.wav",
"debug": false,
"rule": "fuzzy",
"lang": "en",
"samples": [
"hey ziggy",
"hay ziggy"
],
"threshold": 0.80
}
}
}
Sections explained
The most important section is "wake_word": "hey_ziggy"
in the "listener"
section.
This tells OVOS what the default wakeword should be.
In the "hotwords"
section, "active": true
, is only used if multiple wakewords are being used. By default, what ever wake_word
is set in the listener
section is automatically set to true
.
If you want to disable a wakeword, you can set this to false
.
If enabling a wakeword, be sure to also set "listen": true
.
Multiple hotwords can be configured at the same time, even the same word with different plugins. This allows for more accurate ones to be used before the less accurate, but only if the plugin is installed.