如何在Ubuntu中交换立体声声道?


29

我当前正在运行Ubuntu 9.04。我想交换立体声通道,但是在“音量控制首选项”中找不到该选项。

有没有一种方法可以不接触任何配置文件?(不允许以root用户身份登录此计算机)


1
交换扬声器?
grawity

4
我必须调换扬声器。这就是为什么我想重新转换立体声通道的原因:D
Auron

Answers:


32

PulseAudio方式(在Ubuntu 10.04上测试,应在9.04上运行):

复制/etc/pulse/default.pa~/.pulse/default.pa,并将以下两行添加到末尾:

load-module module-remap-sink sink_name=reverse-stereo master=0 channels=2 master_channel_map=front-right,front-left channel_map=front-left,front-right
set-default-sink reverse-stereo

通过pactl exit在命令行上运行来重新启动PulseAudio 。

如果您不想默认使用反向立体声,则省略第二行。您可以在“声音首选项”的“输出”选项卡中,在反向立体声输出和普通立体声输出之间切换。如果您确实具有root用户并且想要在整个系统范围内运行,则只需添加行即可,/etc/pulse/default.pa而不用进行用户特定的配置。

此配置有一些基本假设:要反转通道的卡是卡0;您只需要处理2个频道;并且这些渠道被称为front-leftfront-right

如果您的视频卡的HDMI输出断开,则主板上的模拟输出很可能是卡1,而不是0;否则,您的主板将是1。所以主人= 1。(此模拟通道上可能有前面板耳机)

有关更多信息,请参见PulseAudio文档中的module-remap-sink


最初,它似乎在14.04上发挥了作用。但是重启后,pulseaudio守护程序无法启动。必须删除呼叫以对其进行修复。
阿米尔·乌瓦尔2014年

也可以通过pacmd(即无需复制配置和重新启动pulseaudio)工作。
ulidtko 2014年

1
如果您有更多接收器,则可以pacmd list-sinks用来显示现有接收器及其索引的列表。比master=0master=IndexOfTheSinkToSwap
user1182474 '16

1
这在Ubuntu 16.04下也能完美运行。持续按预期进行重新启动。
年长者极客

好答案!我唯一遇到的问题是重新映射的接收器的容量基于基础接收器。这意味着,如果我切换到基本水槽,然后将音量调到50%,则重新映射的水槽现在将只能增加到50%的音量(100%将是“真实的” 50%)。可以解决吗?
srfrnk

10

与上面的Brian基本相同的方法,但不涉及任何配置文件:

pactl load-module module-remap-sink \
    sink_name=reverse-stereo \
    master=0 \
    channels=2 \
    master_channel_map=front-right,front-left \
    channel_map=front-left,front-right

这将动态创建一个带有反向通道的附加PA接收器。(在pulseaudio重新启动后,它将消失)。要切换到它:

pactl set-default-sink reverse-stereo

—或者,您也可以通过声音控制面板手动切换:

PulseAudio音量控制窗口

当然,例如在实验时,可以来回切换。


如果您想快速尝试一些操作而不是永久保存设置,则这种方法更好。


pactl set-default-sink reverse-stereoNo valid command specified.在Ubuntu 12.04上失败。
奥龙2014年

1
@Auron在14.04上运行良好。
ulidtko 2014年

嗯,我必须检查一下。
奥龙2014年

1
@Auron,请参阅更新;您也可以通过声音面板手动切换。
ulidtko 2014年

6

如果您使用的是ALSA,请将其添加到 ~/.asoundrc文件中:

pcm.swapped {
    type         route
    slave.pcm    "cards.pcm.default"
    ttable.0.1   1
    ttable.1.0   1
}

pcm.default      pcm.swapped

通过ALSA常见问题解答


+1击败了我几秒钟...请注意,Ubuntu 9.04默认情况下会安装PulseAudio,这可能有其自己的方式。
2009年

@〜quack PulseAudio不会将声音路由到ALSA吗?
Sathyajith Bhat

是的,只是说,PA可以根据“不止一种方法”原理进行交换。:)
嘎嘎吉x德09年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.