This package provides access to the CMU Pocket Sphinx speech recognizer. It uses gstreamer to automatically split the incoming audio into utterances to be recognized, and offers services to start and stop recognition.

Currently, the recognizer requires a language model and dictionary file. These can be automatically built from a corpus of sentances using the Online Sphinx Knowledge Base Tool. Example launch files, language models, and dictionary files can be found in the demo directory of the package. The voice_cmd example controls a mobile base using commands such as "move forward" or "stop". The robocup example uses some of the standard items and names from the RoboCup@Home contest, for instance, it should recognize "hello, my name is Michael" or "Bring me the Original Pringles".


Ubuntu Users

sudo apt-get install ros-groovy-pocketsphinx

sudo apt-get install ros-hydro-pocketsphinx

sudo apt-get install ros-indigo-pocketsphinx

sudo apt-get install ros-jade-pocketsphinx

Non-Ubuntu Users

There is nothing to build, however, to install pocketsphinx itself we will need to run rosdep. In a directory under your ROS package path, do the following:

git clone https://github.com/mikeferguson/pocketsphinx
sudo apt-get install gstreamer0.10-pocketsphinx



Interface to pocket sphinx.

Published Topics

~output (std_msgs/String)
  • Complete utterance as heard by pocket sphinx.


~start (std_srvs/Empty)
  • Connect the audio stream to the speech recognizer and start listening.
~stop (std_srvs/Empty)
  • Disconnect audio stream from speech recognizer.


~lm (str, default: required)
  • Location of language model file.
~dict (str, default: required)
  • Location of dictionary file.

Wiki: pocketsphinx (last edited 2016-03-06 09:11:29 by AustinHendrix)