An extensible plugin architecture with support for loadable modules.LibSydney is a total replacement for the "PulseAudio streaming API", and plans have been made for libSydney to eventually become the only audio API used in PulseAudio. Interfaces with ALSA through libasound.Defines a simple abstract interface for playing event sounds.Complies with the XDG Sound Theme and Naming Specifications.Libcanberra is an abstract API for desktop event sounds and a total replacement for the "PulseAudio sample cache API": In reality, their output is rerouted through PulseAudio. PulseAudio also provides its own native interface to applications that want to support PulseAudio directly, as well as a legacy interface for ESD applications, making it suitable as a drop-in replacement for ESD.įor OSS applications, PulseAudio provides the padsp utility, which replaces device files such as /dev/dsp, tricking the applications into believing that they have exclusive control over the sound card. Thus, applications using ALSA will output sound to PulseAudio, which then uses ALSA itself to access the real sound card. In a typical installation scenario under Linux, the user configures ALSA to use a virtual device provided by PulseAudio. PulseAudio achieves this by providing adapters to applications using other audio systems, like aRts and ESD. One of the goals of PulseAudio is to reroute all sound streams through it, including those from processes that attempt to directly access the hardware (like legacy OSS applications). The background process then redirects these sound sources to one or more sinks (sound cards, remote network PulseAudio servers, or other processes). PulseAudio acts as a sound server, where a background process accepting sound input from one or more sources (processes, capture devices, etc.) is created. However, its use is not mandatory and audio can still be played and mixed together without PulseAudio. In broad terms ALSA is a kernel subsystem that provides the sound hardware driver, and PulseAudio is the interface engine between applications and ALSA. PulseAudio is a daemon that does mixing in software.