How to swap stereo channels in Ubuntu?
Solution 1
The PulseAudio way (tested on Ubuntu 10.04, should work on 9.04):
Copy /etc/pulse/default.pa
to ~/.pulse/default.pa
, and add the following two lines to the end:
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
Restart PulseAudio by running pactl exit
at the command line.
Leave out the second line if you don't want to use the reversed stereo by default. You can switch between reversed and normal stereo output in the "Output" tab in Sound Preferences. If you do have root and want this system wide, you can just add the lines to /etc/pulse/default.pa
instead of making a user-specific configuration.
This configuration makes a few basic assumptions: that the card you're reversing the channels of is card 0; that you only have to deal with 2 channels; and that those channels are called front-left
and front-right
.
If you have a videocard with HDMI out, it is likely the analog out of your motherboard will be card 1, not 0; so master=1. (Front Panel headphones are likely on this analog channel)
For more information, see the PulseAudio documentation for module-remap-sink.
Solution 2
Essentially the same approach as Brian's above, but without touching any configuration file:
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
This will create on the fly an additional PA sink with reversed channels. (It will disappear after pulseaudio restart). To switch to it:
pactl set-default-sink reverse-stereo
— OR, you can also switch manually via the sound control panel:
Off course it's possible to switch back and forth, e.g. when experimenting.
This way is better if you want to try something out quickly rather than to save the setup permanently.
Solution 3
If you're using ALSA, Add this to your ~/.asoundrc
file:
pcm.swapped {
type route
slave.pcm "cards.pcm.default"
ttable.0.1 1
ttable.1.0 1
}
pcm.default pcm.swapped
Via ALSA FAQ
Related videos on Youtube
Auron
I am currently working as a software developer in 1000shapes GmbH. I completed my PhD at the University of Santiago de Compostela in the medical image segmentation field, using CUDA and C++. I have a little background as a C# .NET programmer for smart devices and desktop computers. When I code in my free time, I use Python.
Updated on September 17, 2022Comments
-
Auron over 1 year
I'm currently running Ubuntu 9.04. I wanted to swap the stereo channels, but I couldn't find that option in the Volume Control Preferences.
Is there a way to do this without touching any configuration file? (I'm not allowed to log as root in this machine)
-
quack quixote over 14 years+1 beat me by seconds... note Ubuntu 9.04 installs PulseAudio by default which probably has its own way to do it.
-
quack quixote over 14 yearsyes, just sayin' PA can probably do the swap on its own, on the There's More Than One Way To Do It principle. :)
-
Amir Uval almost 10 yearsInitially it seemed to do the trick on 14.04. But after reboot pulseaudio daemon failed to start. had to remove the call to fix it.
-
Massey101 over 9 yearsWorks via
pacmd
too (i.e. no need to copy config & restart pulseaudio). -
Auron over 9 years
pactl set-default-sink reverse-stereo
failed withNo valid command specified.
on a Ubuntu 12.04. -
Massey101 over 9 years@Auron works fine on 14.04.
-
Auron over 9 yearsHmm, I would have to check it.
-
Massey101 over 9 years@Auron, see update; you can also switch manually via the sound panel.
-
user1182474 almost 8 yearsIf you have more sinks, so you can use
pacmd list-sinks
to display a list of existing sinks and their indexes. than replacemaster=0
with themaster=IndexOfTheSinkToSwap
-
Elder Geek almost 8 yearsThis works perfectly under Ubuntu 16.04 as well. Persists through reboot as expected.
-
srfrnk about 5 yearsGreat answer! Only problem I'm having is that the volume of the remapped sink is based on the base sink. That means if I switch to the base sink and turn volume to 50% the remapped sink will now be able to go up to only 50% volume (it's 100% will be the 'real' 50%). Any way around that?
-
tanius about 4 yearsAmazingly, this solution still works as of Ubuntu 19.10. Just that after
pactl set-default-sink reverse-stereo
you have to restart sound-playing applications (like Firefox) so that they pick up the new default on restart. -
Toto over 2 yearsThis should be a comment.
-
Aulis Ronkainen over 2 yearsThis does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review
-
Jānis Elmeris over 2 yearsIf the remapped output is selected, in the beginning of a playback (when I double-click on an MP4 file to open it in VLC), there are two small pauses in audio until it starts playing back smoothly. If I rewind the video back, then it is all right from the beginning. The non-remapped output sounds all right also the first time I open a video in VLC.
-
Admin about 2 yearsWorked perfectly for me on PopOS 5.16.11, which derives from Ubuntu! Thanks!