PulseAudio(以前叫Polypaudio)是一个
跨平台的、可通过网络工作的声音服务,其一般使用于
Linux和
FreeBSD操作系统。它可以用来作为一种简易改进的开放声音后台(ESD)替换。
PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。
PulseAudio的一个目的通过它是重定向所有声音流,包括那些试图访问硬件的进程(像那些遗留的基于
OSS的软件)。PulseAudio通过提供适配器给那些使用不同的声音系统,像
aRts和ESounD。
在Linux下的典型方案,用户提供配置
ALSA来使用PulseAudio提供的虚拟设备。尽管应用使用ALSA会将输出的声音输出到PulseAudio,然后PulseAudio会使用
ALSA它自己来访问真正的声卡. PulseAudio同样提供它自己的接口给应用程序,用来直接支持PulseAudio,就像那些遗留的基于
ESD的软件,这样使得PulseAudio适合作为
ESD的替代品。
对于
OSS的软件, PulseAudio提供padsp工具,用来代替硬件文件夹像/dev/dsp,欺骗应用程序,使程序以为它们有声卡的完全控制权。在事实上,它们的输出被PulseAudio重定向。
PulseAudio被几个主要Linux发行版使用,例如
Fedora、
Ubuntu、
Mandriva、
Linux Mint、
openSUSE和
OpenWRT。
GNOME项目中还有越来越多的对Pulseaudio的支持。
某些程序,包括Linux上的旧版的
Adobe Flash,在PulseAudio上造成不稳定.幸运的是较新的Flash插件的不引起冲突,因此Flash和PulseAudio的是兼容的。
ALSA提供一个软件调音台叫a
mixer,它是在PulseAudio前开发的。这是几乎可以在所有的Linux发行版使用的一个简单的PCM音频混合的解决方案。但它不提供PulseAudio的高级功能(如高品质的重采样,聚合装置,定时的调度和网络音频)。
JACK是一个提供相比PulseAudio更专业的服务的体系,提供实时和低延时的表现。 和自从JACK2开始支持
对称多处理,使得所有的音频客户端能有效平衡负载于多个处理器。音频客户端可以彼此之间任意连接。在JACK的所有客户之间的图新连接,可以被多种应用程序可视化和编辑,例如Qjackctl。这使得它非常直观地概述了整体音频控制流,可以在任何时候修改所有的音频应用程序和硬件路由。JACK对专业音频软件来说是首选的专业音频应用服务,例如
Ardour、Rezound和LinuxSampler。
在OSS V4的声音系统,如4Front,可提供软件混音,重采样和改变对每个应用程序的基础量,与PulseAudio对比,这些功能是在内核中实现。PulseAudio的还可以与现有的音响系统互操作,包括那些设计成独占声卡的程序(OSS V3)。