Sound servers are programs that run "in the background," meaning that they do not have a user interface. Sound servers provide a level of abstraction to automate some aspects of using ALSA, and to allow multiple applications to simultaneously access your audio hardware. The three sound servers discussed in this chapter have different goals and different features. The sound server you should use depends on what you are doing.
PulseAudio
is an advanced sound server, intended to make audio programming in Linux operating systems as easy as possible. The idea behind its design is that an audio application needs only to output audio to PulseAudio
. PulseAudio
will take care of the rest: choosing and controlling a particular device, adjusting the volume, working with other applications, and so on. PulseAudio
even has the ability to use "networked sound," which allows two computers using PulseAudio
to communicate as though they were one computer - either computer can input from or output to either computer's audio hardware just as easily as its own audio hardware. This is all controlled within PulseAudio
, so no further complication is added to the software.
The Fedora Project's integration of PulseAudio
as a vital part of the operating system has helped to ensure that audio applications can "just work" for most people under most circumstances. This has made it much easier for users to carry out basic audio tasks.