Difference between revisions of "Sound"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 3: Line 3:
 
The "normal" Linux sound system is [http://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture ALSA]. It emulates the older [http://en.wikipedia.org/wiki/Open_Sound_System 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 "normal" Linux sound system is [http://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture ALSA]. It emulates the older [http://en.wikipedia.org/wiki/Open_Sound_System 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.
  
Try this:
+
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
 
  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
 
  dd if=audio.raw of=/dev/dsp
 +
If you hear your voice, your microphone and drivers are okay.
  
 
See  
 
See  

Revision as of 16:12, 11 August 2009

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)