To listen to sound (["Ogg"], ?"MP3", .au files, !["CDs"] etc) on your sound card, you need to:
- Run a ["kernel"] with the correct sound drivers for your sound card (information about ["PCI"]-soundcards can be found if you run '/sbin/lspci' or in the boot-messages ('/bin/dmesg')). The PC sound cars are Sound Blaster compatible.
- Load the required ["module"]s for your soundcard if using a modular kernel
- Install sound ["package"]s. To configure the sound, you can use ["sndconfig"].
You can install too eg [http://freshmeat.net/browse/113/?topic_id=113 Sound/Audio apps] or [http://www.underbit.com/products/mad/#using wiki:?MAD apps using], 'xfreecd' (music CD playing software), 'mp3blaster' (full-screen console mp3-player), or 'saytime' (if you have no CD drive and no !["MP3s"]). Try to run them as root (it should work). With Debian, ordinary users lack permission to read the CD drive and write to the audio device (usually /dev/dsp), and they probably can't use these programs (yet; see next paragraph).
- Use 'adduser USER_NAME audio' to allow a specific user to write to the /dev/dsp, /dev/mixer and /dev/audio devices and thus output sound from the soundcard; note: the user needs to log off and on again for such changes to take effect! This is the recommended way to allow a user to play audio. If, instead, you changed the permissions of the /dev/audio etc devices to make them accessible to anyone, that would open a security hole because you would be allowing any trojan to read the microphone device.
- To allow some users to play music !["CDs"] on the ["CDROM"] drive: 'ls -al /dev/cdrom' to check which special file /dev/cdrom is a symbolic link to. If it is hdc, then do: 'chgrp cdrom /dev/hdc' or if it is something else (i.e. /dev/scd0) do the corresponding thing. Then do 'addgroup USER_ID cdrom' to allow the user to play music ["CDs"]. Changing the group of /dev/hdc (or hdb or whatever) is necessary, because otherwise you would need to add the user to group disk, which is bad for security.
- If you run ["xfreecd"], remember to change the default CDDB server on the 'xfreecd' software from 'cddb.cddb.com' to 'freedb.freedb.org'. This is best done by directly editing the '.xfreecdrc' file in the home directories of the users who use the program.
ALSA loads sound 'cards' in the order it finds them. The first card is always used as the 'default'. If you're unlucky, and a microphone gets selected first, then you're not going to be able to play sounds. You can check the order that ALSA has loaded card with:
There are two ways to fix this problem.
1. Force the cards to load in a different order. I chose this route, and added the following to my /etc/modprobe.d/sound:
options snd-trident index=0 options snd-usb-audio index=1
This forces my Trident card to be the default (card 0) and my USB microphone to be card 1.
2. Change the default card by editing /etc/asound.conf or ~/.asound.conf