../_images/tiago-icon.png ../_images/ari-icon.png

Wake-up word detector#

PAL’s robots 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 Wake-up word 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 /wakeup_monitor/set_wakeup_pattern and /wakeup_monitor/set_sleep_pattern.

For instance, for the robot to start listening when you say: “hello robot”, you might want to call:

rosservice call /wakeup_monitor/set_wakeup_pattern   "data: '^hello robot$'"

Another example, for the robot to stop listening when you say “sleep well” or “sleep well little robot”:

rosservice call /wakeup_monitor/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:

rosservice call /wakeup_monitor/get_sleep_pattern