Audio setup
For a number of experiments we will need to manipulate audio signals with the Raspberry Pi. Here we give a few hints on how to get audio to work.
Audio Input
In order to record audio, we need to connect a microphone to the Pi. If you connect a USB mic, you can ensure that the Pi recognizes it by typing lsusb at the command line
pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0000:0538
Bus 001 Device 006: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 001 Device 005: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Here we have connected the C-Media USB Microphone.
You can obtain the device details by typing arecord -l
pi@raspberrypi ~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
These device details will be useful in recording audio.
Installing SoX for audio recording SoX is a program for recording and manipulating audio. You can install it by typing
sudo apt-get install sox
at the command line. There are two function play and rec which can then be used for recording and playback. To record some speech, follow the following steps
- set the audio driver by typing AUDIODRIVER=alsa
- set the recoding device by typingAUDIODEV=hw:<card number>,<device number>. The card and device numbers of the recording device are obtained from arecord -l. Using the result above we type AUDIODEV=hw:1,0