NAOqi Audio - Overview | API

What it does

The ALSpeechRecognition module gives to the robot the ability to recognize predefined words or phrases in several languages.

For the complete list of language codes, see: Available languages.


no-virtual Cannot be tested on a simulated robot - This module is only available on a real robot, you cannot test it on a simulated robot.

How it works


ALSpeechRecognition relies on sophisticated speech recognition technologies provided by:

  • ACAPELA GROUP for NAO Version 3.x and
  • NUANCE for NAO Version 4.

Operating principle

Step Description
A Before starting, ALSpeechRecognition needs to be fed by the list of phrases that should be recognized.
B Once started, ALSpeechRecognition places in the key SpeechDetected, a boolean that specifies if a speaker is currently heard or not.
C If a speaker is heard, the element of the list that best matches what is heard by the robot is placed in the key WordRecognized.

The WordRecognized key is organized as follows:

[phrase_1, confidence_1, phrase_2, confidence_2, ..., phrase_n, confidence_n]


  • phrase_i is one of the predefined phrases and
  • confidence_i an estimate of the probability that this phrase is indeed what has been pronounced by the human speaker.

Note that the different hypothesis contained in that key are ordered so that the most likely phrases comes first.

Getting started

To discover the basic functions of the speech recognition using Choregraphe, see the tutorial: Testing the speech recognition.