April 25, 2019

Better Linux Sound Managment With ALSA, Part 2

Testing Sound Channels

  • March 6, 2008
  • By Carla Schroder
Last week we learned how to configure soundcards for playback with ALSA. It's easy, it works on all Linuxes, it doesn't create conflicts or introduce latency, and it doesn't require the X Window System. Today we're going to use ALSA for recording, and learn how to test our sound system.

A quick and horrid way to see if sound is working is to pipe the contents of a file to dev/dsp:

$ cat  /dev/urandom > /dev/dsp

A more pleasant way is to use alsa-utils. It includes a number of useful commands for testing your setup. The speaker-test command tests your speaker channels. This example is for a simple two-speaker stereo setup:
$ speaker-test -t wav -D plug:front -c2 -l2  

speaker-test 1.0.14

Playback device is plug:front
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 16 to 16384
Period size range from 8 to 8192
Using max buffer size 16384
Periods = 4
was set period_size = 4096
was set buffer_size = 16384
 0 - Front Left
 1 - Front Right
Time per period = 2.731660
 0 - Front Left
 1 - Front Right
Time per period = 2.986495

You should hear a pleasant woman's voice saying "Front left, front right". -c2 means two channels, and -l2 means run the test twice.

It's common to have 5:1 surround sound even with onboard sound chips, so you can test this too:

$ speaker-test -t wav -D plug:surround51 -c6 -l2 

Note how the different channels are numbered. To test a single speaker, select it with the -s option. This example generates a sine wave tone at 45 Hz, which sounds like power hum, on the LFE channel:

$ speaker-test -t sine -f 45 -D plug:surround51 -c6 -s6 

Beware the channel-numbering gotcha- speaker-test output numbers from zero, but the -s option starts from one. Aren't computers fun!

LFE means Low Frequency Effects, which usually means your subwoofer. Of course it's more complex than that; see What is the LFE Channel? for more information.

Most Popular LinuxPlanet Stories