Wake-up word detector#
Your robot features an optional wake-up/sleep keyword monitor, that enables or disables language processing.
This wake-up word monitor is a soft monitor. Speech recognition is always performed in the background; the wake-up word
detector monitors the /humans/voices/*/speech topics for configurable
keywords, and publish a True
or False
boolean on the
/active_listening whenever, respectively, a wake/up or sleep keyword
is detected.
API#
See the wakeup_word_api API documentation.
How to change the wake-up/sleep keywords?#
You can easily set a custom regular expression as wake-up/sleep keyword via the /soft_wakeup_word/set_wakeup_pattern and /soft_wakeup_word/set_sleep_pattern.
For instance, for the robot to start listening when you say: “hello robot”, you might want to call:
ros2 service call /soft_wakeup_word/set_wakeup_pattern "data: '^hello robot$'"
Another example, for the robot to stop listening when you say “sleep well” or “sleep well little robot”:
ros2 service call /soft_wakeup_word/set_sleep_pattern "data: '^sleep well( little robot|)$'"
Your pattern must follow the syntax of the ECMAscript regular expressions (with minor C++-only modifications).
You can also retrieve the current pattern with:
ros2 service call /soft_wakeup_word/get_sleep_pattern