Sound

From Linuxintro
Revision as of 16:12, 11 August 2009 by imported>ThorstenStaerk

Linux sound is one big mess. We have ALSA, OSS, PulseAudio, gstreamer, arts, phonon as subsystems. This article explains the concepts and helps people fixing their sound problems.

The "normal" Linux sound system is ALSA. It emulates the older OSS. ALSA allows several applications to play sound at the same time, OSS does not. This is because OSS provides a single sound device file, /dev/dsp that applications lock when outputting to it. To raise confusion, ALSA emulates OSS by also providing /dev/dsp.

The first step to find out if your sound is configured correctly is to output noise. Turn the volume low and try

dd if=/dev/urandom of=/dev/dsp

If you hear a sound, your drivers and the physical connections of your speakers are okay. To record sound, try this:

dd if=/dev/dsp of=audio.raw

Say something. Type CTRL_C to stop the recording. Playback by typing

dd if=audio.raw of=/dev/dsp

If you hear your voice, your microphone and drivers are okay.

See

http://www.linuxjournal.com/article/6735

Soundcard Intel 82801G on Ubuntu 8.10: recording problems

  • recording via external microphone very quiet
  • recording via internal microphone cannot be heard
alsamixer -c 0
tstaerk@dell-desktop:~/alsa$ modprobe -l | grep snd-hda
/lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko
tstaerk@dell-desktop:~/alsa$ md5sum /lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko
bec085930fe6b6e7c448c5ba7d3e50fa  /lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko
tstaerk@dell-desktop:~/alsa$ ll /lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko
bash: ll: command not found
tstaerk@dell-desktop:~/alsa$ ls -l /lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko
-rw-r--r-- 1 root root 511592 2009-07-25 01:48 /lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko

 modinfo snd-hda-intel
filename:       /lib/modules/2.6.27-14-generic/kernel/sound/pci/hda/snd-hda-intel.ko
description:    Intel HDA driver
license:        GPL
srcversion:     C4633ED01D74A5D02607392
alias:          pci:v00006549d00001200sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000BD7sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000BD6sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000BD5sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000BD4sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000AC3sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000AC2sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000AC1sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000AC0sv*sd*bc*sc*i*
alias:          pci:v000010DEd000007FDsv*sd*bc*sc*i*
alias:          pci:v000010DEd000007FCsv*sd*bc*sc*i*
alias:          pci:v000010DEd00000777sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000776sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000775sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000774sv*sd*bc*sc*i*
alias:          pci:v000010DEd0000055Dsv*sd*bc*sc*i*
alias:          pci:v000010DEd0000055Csv*sd*bc*sc*i*
alias:          pci:v000010DEd0000044Bsv*sd*bc*sc*i*
alias:          pci:v000010DEd0000044Asv*sd*bc*sc*i*
alias:          pci:v000010DEd000003F0sv*sd*bc*sc*i*
alias:          pci:v000010DEd000003E4sv*sd*bc*sc*i*
alias:          pci:v000010DEd00000371sv*sd*bc*sc*i*
alias:          pci:v000010DEd0000026Csv*sd*bc*sc*i*
alias:          pci:v000010B9d00005461sv*sd*bc*sc*i*
alias:          pci:v00001039d00007502sv*sd*bc*sc*i*
alias:          pci:v00001106d00003288sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA48sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA40sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA38sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA30sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA28sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA20sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA18sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA10sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA08sv*sd*bc*sc*i*
alias:          pci:v00001002d0000AA00sv*sd*bc*sc*i*
alias:          pci:v00001002d0000970Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000960Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007919sv*sd*bc*sc*i*
alias:          pci:v00001002d0000793Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00004383sv*sd*bc*sc*i*
alias:          pci:v00001002d0000437Bsv*sd*bc*sc*i*
alias:          pci:v00008086d0000811Bsv*sd*bc*sc*i*
alias:          pci:v00008086d00003B56sv*sd*bc*sc*i*
alias:          pci:v00008086d00003A6Esv*sd*bc*sc*i*
alias:          pci:v00008086d00003A3Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000293Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000293Esv*sd*bc*sc*i*
alias:          pci:v00008086d00002911sv*sd*bc*sc*i*
alias:          pci:v00008086d0000284Bsv*sd*bc*sc*i*
alias:          pci:v00008086d0000269Asv*sd*bc*sc*i*
alias:          pci:v00008086d000027D8sv*sd*bc*sc*i*
alias:          pci:v00008086d00002668sv*sd*bc*sc*i*
depends:        snd-pcm,snd-page-alloc,snd
vermagic:       2.6.27-14-generic SMP mod_unload modversions 586 
parm:           power_save:Automatic power-saving timeout (in second, 0 = disable). (int)
parm:           index:Index value for Intel HD audio interface. (array of int)
parm:           id:ID string for Intel HD audio interface. (array of charp)
parm:           enable:Enable Intel HD audio interface. (array of bool)
parm:           model:Use the given board model. (array of charp)
parm:           position_fix:Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF). (array of int)
parm:           bdl_pos_adj:BDL position adjustment offset. (array of int)
parm:           probe_mask:Bitmask to probe codecs (default = -1). (array of int)
parm:           single_cmd:Use single command to communicate with codecs (for debugging only). (bool)
parm:           enable_msi:Enable Message Signaled Interrupt (MSI) (int)
parm:           power_save_controller:Reset controller in power save mode. (bool)