You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过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

火山引擎 最新活动