经过200多天的PipeWire深度使用,我有一些使用心得想分享给大家。
PipeWire是什么
Arch wiki的说法:
PipeWire是一个新的底层多媒体框架。它专注于同时为音频和视频提供低延迟的录制和回放,Pipewire支持所有接入PulseAudio,JACK,ALSA和GStreamer的程序。
简单的说法:
PipeWire支持所有软件的信号IO。无论软件使用什么后端接入,做到信号流程一体化。在低延迟下,解决以前不同后端各自为战的问题。
我理解的PipeWire信号流程与控制简略图
PipeWire能替代现在的音频工具链吗
目前大部分的工具链都能正常使用,如:
- 网络通讯:zita-j2n/zita-n2j、cvlc
- 连线:pw-viz、helvum、RaySession、Carla、QjackCtl
- 存取连线session:RaySession、Carla、QjackCtl、pw-loadwires/pw-savewires
- WINE声音:pulseaudio
- 设置buffer size:pw-metadata
使用PipeWire会有什么困扰
需要改变一些使用习惯,如:
- 如改变buffer size要使用pw-metadata
- WINE DAW要使用wasapi
- 蓝牙不再需要切换到pulseaudio
- 比ALSA稍高一些的延迟
- 若只使用ALSA需要先停用PulseAudio对设备的占用
- 等等
你应该使用PipeWire吗
有几个问题可以问问自己:
- 需要较低延迟的蓝牙监听吗
- 需要整合现在的JACK+PulseAudio信号流程吗
- 对目前在用的方案满意吗
- 需要直播吗
- 需要多个声卡一起工作吗
对传统的方案来说,不同的后端、不同硬件连在一起虽然能掌控更多(更多重的mixer),实际操作也挺麻烦的。PipeWire能让你在DAW里使用较低延迟的蓝牙监听(达不到录音要求,比PulseAudio延迟低),能方便整合所有软件的信号IO。如果你对这两点很感兴趣,强烈建议你尝试!
使用PipeWire需要的资料
PipeWire最近几年更新变化非常大,像从PipeWire Media Session到WirePlumber ,从需要pipewire-jack-dropin到官方正式支持。
建议安装最新版,使用的过程建议参考以下所有资料:
Archlinux WIKI | https://wiki.archlinux.org/title/PipeWire |
---|---|
Gentoo WIKI | https://wiki.gentoo.org/wiki/PipeWire |
PipeWire官方WIKI | https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home |
Yabridge WIKI | https://github.com/robbert-vdh/yabridge |
我的建议
尝试一下PipeWire!
PipeWire在各大发行版也有跟进,是未来的标准,也是目前事实上的ALL in one最佳选择。默认设置对PulseAudio开箱即用,JACK的应用可能需要做几行config来达到最佳性能。
如果你常需要多设备(声卡/蓝牙)、多软件(浏览器/DAW)连通,且对延迟性能要求不是特别高,那PipeWire超级适合你;
如果你平时只使用ALSA来追求最高性能,暂停PulseAudio对设备的占用也只是一条命令的事情,也试试PipeWire给你带来的额外便利!
本作品采用知识共享署名 4.0 国际许可协议进行许可。