JACK、PulseAudio、ALSA 等软件有什么区别?这些与 Linux 系统中的音频服务器和音频设备驱动程序有何关系?
答案1
非常简单地说:
ALSA 包含实际的设备驱动程序(在内核源代码中)以及用于访问这些驱动程序的库。仅使用 ALSA 就可以完美地使用声音。
PulseAudio 在 ALSA 之上实现了额外的音频路由级别,包括音量和转换。大多数发行版默认使用 PulseAudio + ALSA 组合。
JACK 适用于高保真、最小延迟应用,例如数字音频工作站 (DAW)。它使用单个音频卡作为主时钟(而 Pulseaudio 会自动在卡之间的格式、比特率和时钟偏差之间进行转换)。与 PulseAudio 一样,您也可以在设备之间路由音频。与 PulseAudio 不同的是,它还可以处理 MIDI。
如今,JACK 也主要使用 ALSA 驱动程序。
“音频服务器”并不是一个明确定义的概念。 ALSA 是一个库,PulseAudio 和 JACK 都运行一个服务器进程。您可以在其之上拥有其他“音频服务器”,具体取决于您的定义。
详细信息很容易在互联网上找到,例如通过上面评论中提到的链接。