PulseAudio 5398006 225931860 2008-07-16T02:07:33Z Sikon 293268 /* Alternatives */ removed bias from a PA-hater, but retained mention of dmix {{Infobox Software | name = Pulseaudio | logo = [[Image:PulseAudio-logo.png|250px|PulseAudio logo]] | screenshot = [[Image:PulseAudio_GUI.png|150px]] | caption = PulseAudio Device Chooser (padevchooser), the main GUI for PulseAudio. | collapsible = | author = | developer = | released = | latest release version = 0.9.10 | latest release date = {{release date and age|2008|03|30}} | latest preview version = | latest preview date = | frequently updated = | programming language = [[C (programming language)|C]] | operating system = [[Cross platform]] | platform = | language = | status = | genre = [[Sound server]] | license = [[GNU General Public License]],<br />[[GNU Lesser General Public License]] | website = [http://pulseaudio.org/ pulseaudio.org] }} '''PulseAudio''' (formerly '''PolypAudio''') is a [[cross-platform]], networked [[sound server]] project. It is intended to be an improved drop-in replacement for the [[Enlightened Sound Daemon]] (ESD). PulseAudio runs under [[Microsoft Windows]] and [[POSIX]]-compliant systems like [[Linux]]. Released under the terms of the [[GNU Lesser General Public License]] (for the [[software library]] portion) and the [[GNU General Public License]] (for the sound server itself), PulseAudio is [[free software]]. == Features == The main PulseAudio features include: * Per-application volume controls<ref>[http://fedoraproject.org/wiki/Interviews/LennartPoettering Interviews/LennartPoettering - FedoraProject<!-- Bot generated title -->]</ref> * An extensible plugin architecture with support for loadable modules * Compatibility with many popular audio applications * Support for multiple audio sources and sinks * Low-[[Latency_(audio)|latency]] operation and support for latency measurement<ref>[http://www.digitalprosound.com/Htm/Articles/April/Audio_Latency.htm Audio latency: A long overdue discussion of the latency issue(s)<!-- Bot generated title -->]</ref> * A [[zero-copy]] memory architecture for processor resource efficiency * Ability to discover other computers using PulseAudio on the local network and play sound through their speakers directly * Ability to change which output device an application plays sound through while the application is playing sound (without the application needing to support this, and indeed without even being aware that this happened) * A command-line interface with scripting capabilities * A sound daemon with command line reconfiguration capabilities * Built-in sample conversion and resampling capabilities * The ability to combine multiple [[sound card]]s into one * The ability to synchronize multiple playback streams == Operation == [[Image:Pulseaudio-diagram.png|thumb|PulseAudio operational flow chart]] PulseAudio is a sound server, a background process accepting sound input from one or more ''sources'' (processes or capture devices) and redirecting it to one or more ''sinks'' (sound cards, remote network PulseAudio servers, or other processes). 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 [[Open Sound System|OSS]] applications). PulseAudio achieves this by providing adapters to applications using other audio systems, like [[aRts]] and ESD. In a typical installation scenario under Linux, the user configures [[Advanced Linux Sound Architecture|ALSA]] to use a virtual device provided by PulseAudio. Thus, applications using ALSA will output sound to PulseAudio, which then uses ALSA itself to access the real sound card. 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. For OSS applications, PulseAudio provides the <code>padsp</code> utility, which substitutes device files such as <code>/dev/dsp</code>, tricking the applications into believing that they have exclusive control over the sound card. In reality, their output is rerouted through PulseAudio. == Alternatives == [[ALSA]] provides a software mixer called [[dmix]], which was developed prior to PulseAudio and imposes less overhead. However, it does not provide any of the advanced features of PulseAudio, such as re-sampling, aggregating multiple sound cards into one and network audio. While these abilities are not typically used by common users, PulseAudio can also interoperate with legacy sound systems, including those that were designed to exclusively lock the sound card. This achieves more complete redirection of audio streams into the mixer. == See also == {{Portal|Free software|Free Software Portal Logo.svg}} * [[JACK Audio Connection Kit]] * [[aRts]] * [[List of Linux audio software]] == References == <references/> == External links == * [http://pulseaudio.org/ Official website] * [http://pulseaudio.org/wiki/PerfectSetup Perfect setup] * [http://0pointer.de/blog/projects/pulse.html The Project Formerly Known as Polypaudio], a blog entry by one of the PulseAudio developers discussing the name change {{free-software-stub}} {{multimedia-software-stub}} [[Category:Free audio software]] [[Category:Audio libraries]] [[de:PulseAudio]] [[es:PulseAudio]] [[fr:PulseAudio]] [[ru:PulseAudio]]