Note: This tutorial assumes that you have completed the previous tutorials: ROS tutorials.
(!) Please ask about problems and questions regarding this tutorial on Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

How to Configure and Use Speakers with sound_play

Description: This tutorial is an introduction to setting up and using USB speakers connected to a desktop computer. After reading it, you should be able to bring up the speakers, configure the speakers, and play sounds.

Keywords: sound, speakers, driver

Tutorial Level: BEGINNER

Next Tutorial: How to Create a Sound Interface sound_play/Tutorials/How to Create a Sound Interface


$ rosdep install sound_play
$ rosmake sound_play

Powered On and Plugged In

Make sure that your USB speakers are connected to your desktop and powered on.

You can check that the speaker/sound card is recognized by the unix kernel by using:

$ cat /proc/asound/cards

You will see something similar to:

  •  0 [Intel          ]: HDA-Intel - HDA Intel
                          HDA Intel at 0xfdff8000 irq 16
     1 [Speaker        ]: USB-Audio - Logitech USB Speaker
                          Logitech Logitech USB Speaker at usb-0000:00:1d.7-6.1.3, full speed

Configuring the Sound Driver to Use Your Speaker

To designate which sound card the driver uses, run:

$ asoundconf set-default-card [device #]

(i.e. In the above example, asoundconf set-default-card 0 would configure the driver to use the Intel card .)

This will create .asoundrc.asoundconf in your home directory. To make the driver use these settings, add the following line to ~/.asoundrc by using the command:

$ echo 'include ".asoundrc.asoundconf"' >> ~/.asoundrc

(Optional) To set this default to all users, copy this to the system-wide driver configuration file:

$ sudo cp ~/.asoundrc.asoundconf /etc/asound.conf

Starting a roscore

For sound_play to work properly, a ros core must be running. In a new terminal:

$ roscore

Starting the sound_play node

In another new terminal, start the sound_play node. This node will play sounds when it receives sound messages:

$ rosrun sound_play

You will see:

  • sound_play node is ready to play sound

Playing Sound

In a new terminal, test that your speaker is configured properly and playing sound. Try saying "hello world":

$ rosrun sound_play "hello world"

You will see:

  • Saying: hello world

And you should hear "Hello world"


If you encounter problems in this Tutorial, have a look at the Troubleshooting page, it may have a solution for you.

Wiki: sound_play/Tutorials/ConfiguringAndUsingSpeakers (last edited 2014-01-04 01:28:20 by TullyFoote)