Sound server is a piece of software that “delivers” audio data (signal) from an audio rendering app (multimedia player or any other similar software) to an audio output device such as a sound card. It runs as a system service and works as the “middle man” between the OS audio driver and the physical hardware.
Not that long ago (like 6-5 years ago I think) GNU/Linux had troubles playing simultaneous audio outputs where other platforms such as MS Windows had this capability even as for as with Win 95!. There are few primary sound servers in GNU/Linux such as OSS, ALSA (ALSA is primarily an API for directly accessing audio hardware devices), ESD etc but from this bunch, ALSA was the strongest and was also the first to implement the simultaneous audio playback.
Then few years later came another sound server called Pulse audio but, until recently Pulse audio did have few issues with certain sound cards (as in my case it used to automatically mute the audio output in few older versions of Ubuntu) but these days it seems to be pretty stable.
Update: PulseAudio does not communicate directly with your audio hardware, instead, it relies on other tools such as ALSA for that. So in this regard, it is most probably the communication between PulseAudio and ALSA is the reason for those issues (a thanks goes to ‘Olimp’ – comments, for pointing that out).

Starting with audio streaming to advanced volume controls, it’s plugin architecture lets you easily expand its features.
Talking about its plugins, “Ear Candy” is a pretty cool (intelligent ?) plugin that smartly fades out your audio outputs depending on the “occasion”.

For instance, let’s say that you were listening to an audio file using Banshee and then few seconds later opened a video file in Totem. Then Ear Candy will fade-out the volume of Banshee’s output and bring up the volume level of video that Totem is playing.
Or another example would be to, say while watching a video or listening to some music suddenly Skype rang the heck out of your speakers :), then again our little Ear Candy will fade out all other “noises” and bring up Skype audio to front. Pretty cool, right?

That’s the basic idea of how this app works but it also lets you adjust few advanced settings such as:
*. Manually change the audio fade levels.
*. Change the output device.
*. Enable volume meter detection.
*. Change application name or client name and Window titles.
*. Run at system start-up (can be disabled).
*. Show/Hide try icon… and many other features according to this Ear Candy home page.
You can install Ear Candy sound level manager in Ubuntu 12.04, 11.10 Oneiric Ocelot, 11.04 Natty Narwhal, 10.10 and 10.04 by simply issuing the below command.
sudo apt-get install earcandy
That should do it. Now go ahead and let our cool Ear Candy girl to handle everything for you ;-).
4 Comments
Man, does it actually work for you? I spent hours debugging bzr rev80 (much newer than the rev12 in Ubuntu repos), but it fades my music players to mute even when they're playing, or it fades them up and down constantly. I finally gave up.
https://bugs.launchpad.net/earcandy/+bug/907398
Hey Adam,
Sorry to hear that dude. It worked fine for me. But then again I've been like having strange Pulse Audio issues lately.
For instance "amplify" setting in audio output is now always "ON" which puts my sound card to "mute". Although it has always been like that and I had to manually disable the "amplification" (even in the previous Ubuntu versions, without "earcandy" installed of course).
But in these recent times (after installing "earcandy") whenever I set "amplify" to "off" it always switches "on" automatically which completely disable my audio output.
Now I don't know if it has anything to do with our little "earcandy", but perhaps it could be the reason :/.
Hi, I think a couple of corrections should be voiced here: ALSA is not a sound server, it’s a set of drivers + APIs for some basic sound functionality (audio routing, MIDI handling, etc). It runs in kernel. PulseAudio is a user-space server that is supposed to replace part of ALSAs functionality. PulseAudio can’t and will not replace ALSA, because it doesn’t handle hardware and doesn’t know how to deal with sound cards. This is ALSAs job, therefore PulseAudio has to use ALSA as backend (or OSS for example, which has hardware drivers, too).
As for me, PulseAudio is just a source of problems (especially when I want to use JACK for music production), and I see no reason to use it instead of bare ALSA.
Hi Olimp,
Thank you for the input. Now, I’m not an expert on this, however, as far as I understand, ALSA also has soundserver, although its primary function is to provide protocols for accessing the hardware, and thus its soundserver is not rich in functionality and only a basic one, which is why others such as PulseAudio has emerged.
Because when looking at a soundserver through its basic definition – a software that mixes multiple audio inputs and sends out a unified output, then ALSA can do it through its user-space based plug-ins (such as ‘DMIX’ for instance) interface, without the help of PulseAudio. So then, couldn’t the plugn API be considered as a basic sound server ?
You can correct me if I’m wrong.
That said, you’re correct and the post might be misleading, so I did update the post with a basic description of ALSA.