Mono sound output in Ubuntu?
Is there an easy way of forcing mono sound output - for one ear, one earphone, one speaker?
~VIA~ Translated from French (and considering the correction signaled at the end of the forum page)
You can use the module to remap pulseaudio:
In a terminal:
pacmd list-sinks | grep name:
It will send you the name of the stereo output used. Then you type (replacing with the name you have found):
pacmd load-module module-remap-sink sink_name=mono master=THE_NAME_FROM_THE_PREVIOUS_COMMAND channels=2 channel_map=mono,mono
(In my case that was:
pacmd load-module module-remap-sink sink_name=mono master=alsa_output.pci-0000_00_1e.2.analog-stereo channels=2 channel_map=mono,mono
)
If you open the Sound Preferences you should now have a mono output available. To have that permanently:
gksudo gedit /etc/pulse/default.pa
then you add in the file:
#Remapping output stereo to mono
load-module module-remap-sink sink_name=mono master=THE_NAME_FROM_THE_PREVIOUS_COMMAND channels=2 channel_map=mono,mono
(The image is from the sound settings of Elementary OS Luna).
This answer is a mix of the two answers, witch are not generic (channels names "left" and "right" are defined by the soundcard vendor and can vary).
The global idea is to use module-remap-sink as suggested by other answers. We will replace [skinID], [left_channel_name] and [right_channel_name] by values found later:
pacmd load-module module-remap-sink sink_name=combined-mono master=[skinID] channels=4 master_channel_map=[right_channel_name],[left_channel_name],[right_channel_name],[left_channel_name] channel_map=[left_channel_name],[left_channel_name],[right_channel_name],[right_channel_name]
This will create a double-mono sink output that we can set to be the default one (done below).
1 - find [skinID]
pacmd list-sinks
In my case, only one sink is present; corresponding to the only sound card available:
index: 0
name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
=> I can use either "0" or "alsa_output.pci-0000_00_1f.3.analog-stereo" for [skinID]
2 - find [left_channel_name] and [right_channel_name]
pacmd list-sinks | grep -m1 "channel map:"
In my case, it gives:
channel map: front-left,front-right
So, for me [left_channel_name] = "front-left" and [right_channel_name]="front-right"
3 - Apply changes
To make changes effective, I'll to run (in my case)
pactl load-module module-remap-sink sink_name=combined-mono master=0 channels=4 master_channel_map=front-right,front-left,front-right,front-left channel_map=front-left,front-left,front-right,front-right
pactl set-default-sink combined-mono
=> the first command's arguments are to adapt to each case ! Read the entiere post for details
To verify, you can play this video
4 (optional) - Make changes permanant
To keep this settings and have them applied each time the computer starts:
- copy
/etc/pulse/default.pa
=> ~/.pulse/default.pa (if not already done) -
add the two commands to the end of file, without "pactl " at the beginning
=> in my case, this gives:
load-module module-remap-sink sink_name=combined-mono master=0 channels=4 master_channel_map=front-right,front-left,front-right,front-left channel_map=front-left,front-left,front-right,front-right set-default-sink combined-mono
I had problems with both of these answers. When I tried the accepted answer, the only thing that would come out of the speaker was noise. After some searching, I found another solution that might work better for you:
pacmd load-module module-remap-sink sink_name=mono master=alsa_output.pci-0000_00_1b.0.analog-stereo channels=4 channel_map=left,right,left,right master_channel_map=left,left,right,right
Replace alsa_output.pci-0000_00_1b.0.analog-stereo with the sink name you get from
pacmd list-sinks | grep name:
Follow the steps in the accepted answer if you would like to make this solution permanent.
Yet another solution. I like command line solution and used it very long time.
But I found good application: PulseEffects and there is a way to make mono with good GUI app.
Installation:
flatpak install com.github.wwmm.pulseeffects
if u don't have flatpak
yet (on ubuntu for example), you can install it
Configuration
- Stereo Tools
- Stereo Mix
- LR > L+R (Mono Sum L+R)
Installing Gnome Alsa Mixer by executing
$sudo apt-get install gnome-alsamixer
there are some options:
"Mono Output Select" and "Mix Mono"