../_images/tiagopro-icon.png ../_images/kangaroo-icon.png ../_images/tiago-icon.png ../_images/ari-icon.png ../_images/talos-icon.png ../_images/mobile-bases-icon.png

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