With mycroft's demise users are encouraged to move to https://github.com/OpenVoiceOS/ovos-ww-plugin-precise-lite and https://github.com/OpenVoiceOS/precise-lite-trainer
This plugin will no longer be maintainer by OpenVoiceOS
This adds a plugin for precise, this is the official mycroft wake word engine and is supported out of the box by core, however i have some issues with the official implementation that i try to solve with this
- the downloading of binaries is messy, i prefer that the download blocks instead of reloading the listener
- mycroft-core keeps replacing and redownloading binary whenever you test a
new model from a different version, i want to support having both versions
side by side
- i support multiple wakeword at same time
- xdg compliant paths
- allow overriding binary used
- fix recording of wake words setting, this is derived from phonemes and badly implemented in core, so you end up with issues like getting 0.2 second recordings if you don't set the phonemes (that are not used by precise)
- i prefer hardcoded static and explicit urls for binary to be downloaded
The "plugins" are pip install-able modules that provide new engines for mycroft
more info in the docs
pip install ovos-ww-plugin-precise
Configure your wake word in mycroft.conf
"listener": {
"wake_word": "android"
},
"hotwords": {
"android": {
"module": "ovos-ww-plugin-precise",
"version": "0.3",
"model": "path/to/your/model"
}
}
Advanced configuration
"listener": {
"wake_word": "android"
},
"hotwords": {
"android": {
"module": "ovos-ww-plugin-precise",
"trigger_level": 3,
"sensitivity": 0.5,
"version": "0.3",
"model": "path/or/url/to/your/model",
"binary_path": "path/to/your/binary/eg/using/tflite",
"expected_duration": 3
}
}
binary_path
if you want to use your own binary, eg for use with tflite branchversion
defaults to 0.2, only 0.2 and 0.3 supported (ignored if binary path is set)model
full path to your model file, if it's an url the model will be downloaded to a XDG directorytrigger_level
Higher = more delay & less sensitivesensitivity
Higher = more sensitiveexpected_duration
defaults to 3 seconds (max value), this is the time used for saving wake word samples