如何通过PipeWire或WirePlumber将立体声输出设备合并为单声道输出?
如何通过PipeWire或WirePlumber将立体声输出设备合并为单声道输出?
我之前也被这个问题困扰过——明明把立体声转成单声道是个超实用的功能:不管是你的音箱不支持立体声,还是出于无障碍需求,系统都应该给个便捷切换的选项对吧?但GNOME目前居然没提供这个功能。我用的是Ubuntu 23.04,默认音频服务器是PipeWire,折腾了好半天终于找到了完美的解决方法,能让GNOME控制中心的音频设置里出现自定义名称的单声道输出选项,现在把步骤分享给大家:
具体操作步骤
1. 创建自定义PipeWire配置文件
我们需要创建一个配置文件来定义立体声转单声道的处理链。首先打开终端,用文本编辑器创建并编辑这个文件:
nano ~/.config/pipewire/pipewire.conf.d/50-mono-output.conf
然后把以下内容粘贴进去,你可以根据自己的需求修改node.description里的名称(比如改成“单声道输出(左右混合)”):
context.modules = [ { name = libpipewire-module-loopback args = { node.description = "合并立体声为单声道" capture.props = { node.name = "capture.stereo" media.class = Audio/Sink audio.channels = 2 audio.position = [ FL FR ] } playback.props = { node.name = "playback.mono" media.class = Audio/Source audio.channels = 1 audio.position = [ MONO ] } filters = [ { type = builtin name = channelmix args = { # 将左右声道各取50%混合成单声道,可按需调整比例 channelmix.matrix = [ 0.5 0.5 ] channelmix.in-lfe = false channelmix.out-lfe = false } } ] } } ]
按Ctrl+O保存,Ctrl+X退出编辑器。
2. 重启音频服务让配置生效
在终端里执行以下命令,重启PipeWire和WirePlumber服务:
systemctl --user restart pipewire wireplumber
3. 切换到单声道输出
现在打开GNOME控制中心的「声音」设置,在「输出设备」列表里就能看到我们刚才自定义名称的单声道输出选项了,选中它之后,系统的所有立体声音频就会自动合并成单声道输出啦!
小技巧
如果你想调整左右声道的混合比例,比如更侧重左声道,可以修改配置里的channelmix.matrix = [ 0.7 0.3 ];如果侧重右声道就改成[0.3 0.7],修改后记得重启音频服务生效。
备注:内容来源于stack exchange,提问作者Eduardo Moraes




