Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

PulseAudio

From Wikipedia, the free encyclopedia
Sound server for Unix-like operating systems
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This articlemay contain excessive or inappropriate references toself-published sources. Please helpimprove it by removing references to unreliablesources where they are used inappropriately.(March 2017) (Learn how and when to remove this message)
This articlemay rely excessively on sourcestoo closely associated with the subject, potentially preventing the article from beingverifiable andneutral. Please helpimprove it by replacing them with more appropriatecitations toreliable, independent sources.(March 2017) (Learn how and when to remove this message)
(Learn how and when to remove this message)
PulseAudio
Screenshot
Developers
  • Lennart Poettering
  • Pierre Ossman
  • Shahms E. King
  • Tanu Kaskinen
  • Colin Guthrie
  • Arun Raghavan
  • David Henningsson
Initial release17 July 2004; 21 years ago (2004-07-17)[1]
Stable release
17.0[2] / 12 January 2024; 22 months ago (2024-01-12)
Repositorygitlab.freedesktop.org/pulseaudio/pulseaudio
Written inC[3]
Operating systemFreeBSD,NetBSD,OpenBSD,Linux,Illumos,Solaris,macOS, andMicrosoft Windows (not maintained)
PlatformARM,PowerPC,x86 /IA-32,x86-64, andMIPS
TypeSound server
LicenseLGPL-2.1-or-later[4]
Websitepulseaudio.org

PulseAudio is a network-capablesound server program distributed via thefreedesktop.org project. It runs mainly onLinux, includingWindows Subsystem for Linux onMicrosoft Windows andTermux onAndroid; variousBSD distributions such asFreeBSD,OpenBSD, andmacOS; as well asIllumos distributions and theSolarisoperating system. It serves as a middleware in between applications and hardware and handles rawPCM audio streams.[5]

PulseAudio isfree and open-source software, and is licensed under the terms of theLGPL-2.1-or-later.[4]

It was created in 2004 under the name Polypaudio but was renamed in 2006 to PulseAudio.[6]

PulseAudio competes with newerPipeWire, which provides a compatible PulseAudio server (known as pipewire-pulse), and PipeWire is now used by default on many Linux distributions, includingFedora Linux,Ubuntu, andDebian.[7][8][9]

Support for Microsoft Windows

[edit]

OnMicrosoft Windows, PulseAudio runs inWindows Subsystem for Linux.

TheNT kernel was previously supported viaMinGW (an implementation of theGNU toolchain, which includes various tools such asGCC andbinutils). The NT kernel port has not been updated since 2011, however.[10]

Software architecture

[edit]
PulseAudio operational flow chart
PulseAudio is a daemon that does mixing in software.

In broad termsALSA 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 moresources (processes, capture devices, etc.) is created. The background process then redirects these sound sources to one or moresinks (sound cards, remote network PulseAudio servers, or other processes).[11]

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 legacyOSS applications). PulseAudio achieves this by providing adapters to applications using other audio systems, likeaRts andESD.

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 thepadsp 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

[edit]

libcanberra is an abstract API for desktop event sounds and a total replacement for the "PulseAudio sample cache API":

libSydney

[edit]

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.[15]

Features

[edit]

The main PulseAudio features include:[11]

  • Per-application volume controls[16]
  • An extensible plugin architecture with support for loadable modules
  • Compatibility with many popular audio applications[17]
  • Support for multiple audio sources and sinks
  • Azero-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 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 multiplesound cards into one
  • The ability to synchronize multiple playback streams
  • Bluetooth audio device support with dynamic detection capabilities
  • The ability to enable system wideequalization

Adoption

[edit]

PulseAudio first appeared for regular users inFedora Linux, starting with version 8,[18] then was adopted by major Linux distributions such asUbuntu,Debian,[19]Mandriva Linux, andopenSUSE. There is support for PulseAudio in theGNOME project, and also inKDE, as it is integrated intoPlasma Workspaces, adding support toPhonon (the KDE multimedia framework) andKMix (the integrated mixer application) as well as a "Speaker Setup" GUI to aid the configuration of multi-channel speakers. PulseAudio is also available in theIllumos distributionOpenIndiana, and enabled by default in itsMATE desktop environment.

VariousLinux-based mobile devices, includingNokia N900,Nokia N9 and thePalm Pre[20] use PulseAudio.

Tizen, an open-source mobile operating system, which is a project of theLinux Foundation and is governed by a Technical Steering Group (TSG) composed ofIntel andSamsung, uses PulseAudio.

Problems during adoption phase

[edit]
  • ThePortAudio API was incompatible with PulseAudio's design and needed to be modified.[21] Almost all packages using OSS and many of the packages using ALSA needed to be modified to support PulseAudio.[22] 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.[23][24]
  • When first adopted by distributions, PulseAudio developerLennart Poettering (also the creator ofsystemd) described it as "the software that currently breaks your audio".[25] Poettering later claimed that "Ubuntu didn't exactly do a stellar job. They didn't do their homework" in adopting PulseAudio[26] for Ubuntu "Hardy Heron" (8.04), a problem that was improved with subsequent Ubuntu releases.[27] However, in October 2009, Poettering reported that he was still not happy with Ubuntu's integration of PulseAudio.[28]
  • Interaction with old sound components by particular software: Certain programs, such asAdobe Flash for Linux, caused instability in PulseAudio.[29][30] 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.[31]
  • For headphone users, the potential fornoise-induced hearing loss due to extremely loud volumes in the event of a misbehaving application.[32][33][34][35]

Related software

[edit]

Other sound servers

[edit]

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 utilizingsymmetric multiprocessing; 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 asArdour,ReZound, andLinuxSampler; 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.[36]

PipeWire is an audio and video server that "aims to support the use cases currently handled by both PulseAudio and Jack".[37][38]

General audio infrastructures

[edit]

BeforeJACK 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.[39] Proprietary development was continued by4Front Technologies, who in July 2007 released sources for OSS underCDDL-1.0 forOpenSolaris and underGPL-2.0-only forLinux.[40] 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 inOpenIndiana and otherillumos distributions relies on the in-kernel OSS implementation ("Boomer").

See also

[edit]

References

[edit]
  1. ^"OldNews".freedesktop.org.Archived from the original on 16 May 2012. Retrieved17 February 2016.
  2. ^"PulseAudio 17.0 · PulseAudio / pulseaudio · GitLab".GitLab. Retrieved13 January 2024.
  3. ^"PulseAudio",Analysis Summary,Open Hub,archived from the original on 13 July 2023, retrieved6 August 2017
  4. ^ab"License",PulseAudio git,Free desktop, archived fromthe original on 4 March 2014, retrieved16 June 2011
  5. ^"SupportedAudioFormats".www.freedesktop.org.Archived from the original on 1 October 2021. Retrieved13 May 2023.
  6. ^The Project Formerly Known as Polypaudio,archived from the original on 7 January 2007, retrieved20 July 2006
  7. ^"Changes/DefaultPipeWire - Fedora Project Wiki".fedoraproject.org.Archived from the original on 22 November 2020. Retrieved13 February 2023.
  8. ^Sneddon, Joey (22 May 2022)."Ubuntu 22.10 Makes PipeWire Default for Audio".OMG! Ubuntu!.Archived from the original on 22 May 2022. Retrieved13 February 2023.
  9. ^"Debian 12 Switches To PipeWire & WirePlumber By Default With The GNOME Desktop".www.phoronix.com.Archived from the original on 1 October 2022. Retrieved13 February 2023.
  10. ^PulseAudio on Windows,archived from the original on 1 March 2023, retrieved29 July 2016
  11. ^ab"About",PulseAudio, Free desktop,archived from the original on 25 March 2013, retrieved11 March 2013
  12. ^"Debian -- Package Search Results -- libcanberra".packages.debian.org.Archived from the original on 14 July 2014. Retrieved13 July 2014.
  13. ^"Debian -- Package Search Results -- libasound".packages.debian.org.Archived from the original on 14 July 2014. Retrieved13 July 2014.
  14. ^"Debian -- Package Search Results -- libcanberra-pulse".packages.debian.org.Archived from the original on 4 November 2009. Retrieved13 July 2014.
  15. ^Poettering, Lennart (8 February 2007)."FOMS/LCA Recap".0pointer.de.Archived from the original on 6 June 2007. Retrieved13 March 2017.
  16. ^Poettering, Lennart, "Interviews",Fedora Project, Red Hat,archived from the original on 31 August 2009, retrieved3 July 2009
  17. ^Pulse Audio wiki, PulseAudio, archived fromthe original on 31 August 2009, retrieved19 July 2009
  18. ^"LPC: Linux audio: it's a mess [LWN.net]". 18 September 2008.Archived from the original on 1 September 2009. Retrieved11 July 2019.
  19. ^PulseAudio, Debian, archived fromthe original(wiki) on 9 November 2013, retrieved9 November 2013
  20. ^"Open source identity: PulseAudio creator Lennart Poettering",TechWorld, 8 October 2009,archived from the original on 6 April 2011, retrieved19 June 2010
  21. ^Poettering, Lennart (25 September 2004)."Writing a PortAudio driver".audio.portaudio.devel. git.net.Archived from the original on 1 March 2017. Retrieved28 February 2017.
  22. ^Poettering, Lennart."PulseAudio is now enabled by default on new Fedora installs".Fedora Development ML. Red Hat. Retrieved1 March 2017.
  23. ^"Features: Glitch-free Audio".Fedora Project Wiki.Archived from the original on 1 March 2017. Retrieved28 February 2017.
  24. ^Poettering, Lennart."Alsa Issues".PulseAudio - Trac. Archived fromthe original on 16 October 2008. Retrieved28 February 2017.
  25. ^LPC: Linux audio: it's a mess, LWN, 18 September 2008,archived from the original on 1 September 2009, retrieved3 July 2009
  26. ^Lennart Poettering (18 July 2008),PulseAudio FUD, 0pointer.de,archived from the original on 2 September 2009, retrieved30 December 2009
  27. ^How-to: PulseAudio Fixes & System-Wide Equalizer Support, Ubuntu Forums, 10 May 2008,archived from the original on 1 March 2010, retrieved18 October 2009
  28. ^I'll Break Your Audio, Lennart Poettering Blog, 19 October 2009,archived from the original on 22 October 2009, retrieved26 December 2009
  29. ^No sound after running Flash, YouTube, etc. (pulseaudio solution), Ubuntu Forums,archived from the original on 29 February 2012, retrieved18 October 2009
  30. ^PulseAudio, Ubuntu Wiki,archived from the original on 25 February 2011, retrieved18 October 2009
  31. ^"Over-optimistic buffering in PulseAudio causes underruns (audible stuttering, pops)".Launchpad. 10 February 2008. Retrieved9 November 2013.
  32. ^"46466 - PulseAudio needs a way for the user to set inviolable maximum volume".Bugzilla. Retrieved6 October 2021.
  33. ^"[SOLVED] disabling pulseaudio - Page 3".Linux Questions.Archived from the original on 6 October 2021. Retrieved6 October 2021.
  34. ^"Bug #410948 'Volume too loud' : Bugs : pulseaudio package".Ubuntu. 9 August 2009.Archived from the original on 6 October 2021. Retrieved6 October 2021.
  35. ^"#837637 - Audio settings often reset to 100% Volume".Debian Bug report logs.Archived from the original on 6 October 2021. Retrieved6 October 2021.
  36. ^See “Loadable Modules.”Modules, Freedesktop.org,https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index9h2, retrieved August 28, 2019
  37. ^"PipeWire".pipewire.org.Archived from the original on 25 December 2020. Retrieved28 June 2019.
  38. ^"On the Road to Fedora Workstation 31 — Christian F.K. Schaller". 24 June 2019.Archived from the original on 30 September 2023. Retrieved28 June 2019.
  39. ^An introduction to Linux sound systems and APIs, Linux.com, 9 August 2004, archived fromthe original on 19 October 2014, retrieved23 March 2013,OSS is available not only for Linux but also for BSD OSes and other Unixes. That may be its only advantage, because this system is not very powerful and was officially replaced by ALSA in 2.5 kernels...
  40. ^4Front technologies releases the source code for open sound system, Linux PR, 14 June 2007, archived from the original on 8 October 2007, retrieved8 January 2012.

External links

[edit]
Wikimedia Commons has media related toPulseAudio.
OS components
Sound
Graphics
Other
Libraries
Frameworks
Meetings

Retrieved from "https://en.wikipedia.org/w/index.php?title=PulseAudio&oldid=1306524137"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp