Pulse Audio
   HOME

TheInfoList



OR:

PulseAudio is a network-capable sound server program distributed via the
freedesktop.org freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operatin ...
project. It runs mainly on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, including
Windows Subsystem for Linux Windows Subsystem for Linux (WSL) is a component of Microsoft Windows that allows the use of a GNU/Linux environment from within Windows, foregoing the overhead of a virtual machine and being an alternative to dual booting. The WSL command-lin ...
on
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
Termux Termux is a free and open-source terminal emulator for Android which allows for running a Linux environment on an Android device. Termux installs a minimal base system automatically; additional packages are available using its package manager, ...
on Android; various
BSD The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
distributions such as
FreeBSD FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
,
OpenBSD OpenBSD is a security-focused operating system, security-focused, free software, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking NetBSD ...
, and
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
; as well as
Illumos Illumos (stylized as "illumos") is a partly free and open-source Unix operating system. It has been developed since 2010 and is based on OpenSolaris, after the discontinuation of that product by Oracle. It comprises a kernel, device driver ...
distributions and the
Solaris Solaris is the Latin word for sun. It may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Sol ...
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
. It serves as a middleware in between applications and hardware and handles raw
PCM audio Pulse-code modulation (PCM) is a method used to digitally represent analog signals. It is the standard form of digital audio in computers, compact discs, digital telephony and other digital audio applications. In a PCM stream, the amplitude o ...
streams. PulseAudio is
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
, and is licensed under the terms of the LGPL-2.1-or-later. It was created in 2004 under the name Polypaudio but was renamed in 2006 to PulseAudio. PulseAudio competes with newer PipeWire, which provides a compatible PulseAudio server (known as pipewire-pulse), and PipeWire is now used by default on many Linux distributions, including
Fedora Linux Fedora Linux is a Linux distribution developed by the Fedora Project. It was originally developed in 2003 as a continuation of the Red Hat Linux project. It contains software distributed under various free and open-source licenses and aims to b ...
,
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
, and
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
.


Support for Microsoft Windows

On
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
, PulseAudio runs in
Windows Subsystem for Linux Windows Subsystem for Linux (WSL) is a component of Microsoft Windows that allows the use of a GNU/Linux environment from within Windows, foregoing the overhead of a virtual machine and being an alternative to dual booting. The WSL command-lin ...
. The NT kernel was previously supported via
MinGW MinGW ("Minimalist GNU for Windows"), formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications. MinGW includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows ...
(an implementation of the
GNU GNU ( ) is an extensive collection of free software (394 packages ), which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popu ...
toolchain, which includes various tools such as GCC and
binutils The GNU Binary Utilities, or , is a collection of programming tools maintained by the GNU Project for working with executable code including assembly, linking and many other development operations. The tools are originally from Cygnus Solut ...
). The NT kernel port has not been updated since 2011, however.


Software architecture

In broad terms ALSA is a kernel subsystem that provides the sound hardware driver, and PulseAudio is the interface engine between applications and ALSA. However, its use is not mandatory and audio can still be played and mixed together without PulseAudio. PulseAudio acts as a sound server, where a background process accepting sound input from one or more ''sources'' (processes, capture devices, etc.) is created. The background process then redirects these sound sources 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 OSS applications). PulseAudio achieves this by providing adapters to applications using other audio systems, like
aRts The arts or creative arts are a vast range of human practices involving creativity, creative expression, storytelling, and cultural participation. The arts encompass diverse and plural modes of thought, deeds, and existence in an extensive ...
and ESD. In a typical installation scenario under Linux, the user configures 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 padsp utility, which replaces device files such as /dev/dsp, tricking the applications into believing that they have exclusive control over the sound card. In reality, their output is rerouted through PulseAudio.


libcanberra

libcanberra is an abstract API for desktop event sounds and a total replacement for the "PulseAudio sample cache API": * Complies with th
XDG Sound Theme and Naming Specifications
* Defines a simple abstract interface for playing event sounds. * Interfaces with ALSA through libasound. * Has a back-end to PulseAudio.


libSydney

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.


Features

The main PulseAudio features include: * Per-application volume controls * An extensible plugin architecture with support for loadable modules * Compatibility with many popular audio applications * Support for multiple audio sources and sinks * A
zero-copy In computer science, zero-copy refers to techniques that enable data transfer between memory spaces without requiring the CPU to copy the data. By avoiding redundant copying, zero-copy methods minimize CPU usage and memory bandwidth, leading ...
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 applications use to play sound through while they are playing sound (Applications do not need to support this, PulseAudio is capable of doing this without applications detecting that it has 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 A sound card (also known as an audio card) is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term ''sound card'' is also applied to external audio ...
s into one * The ability to synchronize multiple playback streams * Bluetooth audio device support with dynamic detection capabilities * The ability to enable system wide equalization


Adoption

PulseAudio first appeared for regular users in
Fedora Linux Fedora Linux is a Linux distribution developed by the Fedora Project. It was originally developed in 2003 as a continuation of the Red Hat Linux project. It contains software distributed under various free and open-source licenses and aims to b ...
, starting with version 8, then was adopted by major Linux distributions such as
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
,
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
,
Mandriva Linux Mandriva Linux, a fusion of the French distribution Mandrake Linux and the Brazilian distribution Conectiva Linux, is a discontinued Linux distribution developed by Mandriva S.A. Each release lifetime was 18 months for base updates (Linux, syste ...
, and
openSUSE openSUSE () is a free and open-source software, free and open-source Linux distribution developed by the openSUSE project. It is offered in two main variations: ''Tumbleweed'', an upstream rolling release distribution, and ''Leap'', a stable r ...
. There is support for PulseAudio in the
GNOME A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
project, and also in
KDE KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that enable collaborative work on its projects. Its products include the KDE Plasma gra ...
, as it is integrated into
Plasma Workspaces KDE Plasma 5 is the fifth generation of the KDE Plasma graphical workspaces environment, created by KDE primarily for Linux systems. KDE Plasma 5 is the successor of KDE Plasma 4 and was first released on 15 July 2014. It was succeeded by KDE Pla ...
, adding support to
Phonon A phonon is a collective excitation in a periodic, elastic arrangement of atoms or molecules in condensed matter, specifically in solids and some liquids. In the context of optically trapped objects, the quantized vibration mode can be defined a ...
(the KDE multimedia framework) and
KMix KMIX (100.9 FM, "La Tricolor 100.9") is a radio station broadcasting a regional Mexican format. Licensed to Tracy, California, United States, it serves the Stockton area. The station is currently owned by Entravision Communications. History ...
(the integrated mixer application) as well as a "Speaker Setup" GUI to aid the configuration of multi-channel speakers. PulseAudio is also available in the
Illumos Illumos (stylized as "illumos") is a partly free and open-source Unix operating system. It has been developed since 2010 and is based on OpenSolaris, after the discontinuation of that product by Oracle. It comprises a kernel, device driver ...
distribution OpenIndiana, and enabled by default in its MATE desktop environment. Various
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
-based mobile devices, including
Nokia N900 The Nokia N900 is a smartphone made by Nokia, launched at Nokia World on 2 September 2009 and released in November. Superseding the Nokia N810, the N900's default operating system, Maemo 5, is a Linux-based OS originally developed for the Nokia ...
, Nokia N9 and the
Palm Pre The Palm Pre , styled as palm prē, is a multitasking smartphone that was designed and marketed by Palm with a multi-touch screen and a sliding keyboard. The smartphone was the first to use Palm's Linux-based mobile operating system, webOS. T ...
use PulseAudio.
Tizen Tizen () is a Linux-based operating system primarily developed by Samsung Electronics and supported by the Linux Foundation. The project was originally conceived as an HTML5-based platform for mobile devices to succeed MeeGo. It was backed by o ...
, an open-source mobile operating system, which is a project of the
Linux Foundation The Linux Foundation (LF) is a non-profit organization established in 2000 to support Linux development and open-source software projects. Background The Linux Foundation started as Open Source Development Labs in 2000 to standardize and prom ...
and is governed by a Technical Steering Group (TSG) composed of
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
and
Samsung Samsung Group (; stylised as SΛMSUNG) is a South Korean Multinational corporation, multinational manufacturing Conglomerate (company), conglomerate headquartered in the Samsung Town office complex in Seoul. The group consists of numerous a ...
, uses PulseAudio.


Problems during adoption phase

* The PortAudio API was incompatible with PulseAudio's design and needed to be modified. Almost all packages using OSS and many of the packages using ALSA needed to be modified to support PulseAudio. Further development of the glitch-free audio feature required a complete rewrite of the PulseAudio core, and also changes to the ALSA API and internals were needed. * When first adopted by distributions, PulseAudio developer Lennart Poettering (also the creator of
systemd systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manage ...
) described it as "the software that currently breaks your audio". Poettering later claimed that "
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
didn't exactly do a stellar job. They didn't do their homework" in adopting PulseAudio for Ubuntu "Hardy Heron" (8.04), a problem that was improved with subsequent Ubuntu releases. However, in October 2009, Poettering reported that he was still not happy with Ubuntu's integration of PulseAudio. * Interaction with old sound components by particular software: Certain programs, such as
Adobe Flash Adobe Flash (formerly Macromedia Flash and FutureSplash) is a mostly discontinuedAlthough it is discontinued by Adobe Inc., for the Chinese market it is developed by Zhongcheng and for the international enterprise market it is developed by Ha ...
for Linux, caused instability in PulseAudio. Newer implementations of Flash plugins do not require the conflicting elements, and as a result Flash and PulseAudio are now compatible. * Early management of buffer over/underruns: Earlier versions of PulseAudio sometimes started to distort the processed audio due to incorrect handling of buffer over/underruns. * For headphone users, the potential for
noise-induced hearing loss Noise-induced hearing loss (NIHL) is a Hearing loss, hearing impairment resulting from exposure to loud sound. People may have a loss of perception of a narrow range of Frequency, frequencies or impaired perception of sound including hyperacusi ...
due to extremely loud volumes in the event of a misbehaving application.


Related software


Other sound servers

JACK is a sound server that provides real-time, low-latency (i.e. 5 milliseconds or less) audio performance and, since JACK2, supports efficient load balancing by utilizing
symmetric multiprocessing Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
; that is, the load of all audio clients can be distributed among several processors. JACK is the preferred sound server for professional audio applications such as Ardour, ReZound, and LinuxSampler; multiple free audio-production distributions use it as the default audio server. It is possible for JACK and PulseAudio to coexist: while JACK is running, PulseAudio can automatically connect itself as a JACK client, allowing PulseAudio clients to make and record sound at the same time as JACK clients. PipeWire is an audio and video server that "aims to support the use cases currently handled by both PulseAudio and Jack".


General audio infrastructures

Before JACK and PulseAudio, sound on these systems was managed by multi-purpose integrated audio solutions. These solutions do not fully cover the mixing and sound streaming process, but they are still used by JACK and PulseAudio to send the final audio stream to the sound card. * ALSA provides a software mixer called dmix, which was developed prior to PulseAudio. This is available on almost all Linux distributions and is a simpler PCM audio mixing solution. It does not provide the advanced features (such as timer-based scheduling and network audio) of PulseAudio. On the other hand, ALSA offers, when combined with corresponding sound cards and software, low latencies. * OSS was the original sound system used in Linux and other Unix operating systems, but was deprecated after the 2.5 Linux kernel. Proprietary development was continued by 4Front Technologies, who in July 2007 released sources for OSS under CDDL-1.0 for
OpenSolaris OpenSolaris () is a discontinued open-source computer operating system for SPARC and x86 based systems, created by Sun Microsystems and based on Solaris. Its development began in the mid 2000s and ended in 2010. OpenSolaris was developed as ...
and under GPL-2.0-only for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
.. The modern implementation, Open Sound System v4, provides software mixing, resampling, and changing of the volume on a per-application basis; in contrast to PulseAudio, these features are implemented within the kernel. PulseAudio support in OpenIndiana and other
illumos Illumos (stylized as "illumos") is a partly free and open-source Unix operating system. It has been developed since 2010 and is based on OpenSolaris, after the discontinuation of that product by Oracle. It comprises a kernel, device driver ...
distributions relies on the in-kernel OSS implementation ("''Boomer"'').


See also

*
Comparison of free software for audio This comparison of free software for audio lists notable free and open source software for use by sound engineers, audio producers, and those involved in sound recording and reproduction. Audio analysis Converters DJ software Distributi ...
*
List of Linux audio software The following is an incomplete list of Linux audio software. Audio players GStreamer-based * Amarok is a free music player for Linux and other Unix-like operating systems. Multiple backends are supported (xine, helix and NMM). * Banshee is ...
* PipeWire * PortAudio


References


External links

* {{DEFAULTSORT:Pulseaudio 2004 software Audio libraries Audio software for Linux Free audio software Free software programmed in C Linux APIs Collabora Software using the GNU Lesser General Public License