PulseAudio is an open source networked sound server for Linux and other UNIX-like operating systems. It has been designed from the ground up to provide users with a reliable alternative to the old ESOUND (Enlightened Sound Daemon).
It is a modular sound server
Being a very important part of any computing environment, a sound server is mainly used for software mixing of several audio streams, generic hardware and sound API abstraction, as well as network transparency. It is a modular sound server that incorporates numerous plugin modules for supporting sound protocols, sound devices, X Window System, bluetooth, JACK connectivity, RTP, SAP and SDP transport, volume control, filters, as well as various protocols.
Extendable plugin architecture
Even if its plugin architecture is extendable, it features support for static linking and autoloading of modules, for more than one source or sink, client-side latency interpolation, acceptable low-latency functionality, and sample type resampling and conversion. For sound recording and playback, the project provides very accurate latency measurements. It can be easily embedded into other programs, features a “Zero-Copy” architecture, and a straightforward command-line interface that allows experienced users to set up the daemon while it’s running.
Under the hood
Under the hood, PulseAudio includes a fully asynchronous C API (Application Programming Interface), two synchronous APIs, and several network audio streaming options. The sound server can be used to easily mix multiple sound cards and to synchronize multiple playback streams at the same time. Several open source projects offer support for the PulseAudio sound server, such as ALSA, LiVES, MPD, MPlayer, xine, VLC Media Player and SXEmacs.
Supported on any modern distributions of Linux
At the moment, PluseAudio is supported on any modern Linux distribution, as well as on the FreeBSD, NetBSD, Solaris, Mac OS X and Microsoft Windows (Win32) operating systems. It is also the default sound server of numerous well known Linux OSes, and can be easily configure via the PulseAudio Volume Control and PulseAudio Preferences graphical applications.