Is there an easy way of forcing mono sound output - for one ear, one earphone, one speaker?
5 Answers
~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).
-
-
2How do you change the name of the new sink, to change the default name 'Remapped Built-in Audio Analog Stereo' in the System Settings - Sound GUI?– jIIJun 27, 2015 at 20:47
-
Warning to people using PulseAudio Multiband Equalizer: this fix successfully put my sound output to mono but the equalizer stopped working.– JamMay 13, 2017 at 18:52
-
This was extremely helpful. I'd suggest getting rid of gksudo since it's been removed from Ubuntu though.– DeoxalNov 29, 2020 at 8:12
-
@jII Use
sink_properties="device.description='your preferred description'"
in the command line.– jarnoNov 30, 2022 at 18:20
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)
-
Worked like a charm. My sound card doesn't support mono despite dozens of variants of HD this and surround sound that... has no one else used broken headphones? The other features look great too.– John PDec 9, 2021 at 8:24
-
It does support mono. Mono is just same signal on both channels. You can always make mono sound physically: just solder left and right channel (on Jack plug) together and you will get mono output.– RedEyedDec 10, 2021 at 8:55
-
Thanks for the definition. After trying with Pulse Audio and Gnome Alsa Mixer and looking through all the output options, I never found any option to output mono audio. And no, physically tampering with the hardware does not mean you're producing a mono signal. (Nor is it "support" any more than replacing the hardware is.) Consider BT headphones, Chromecast/HDMI, remote streaming, etc. This came up recently where a (single) YT video was missing one channel (the capture messed up.) Software solutions always, always come before you mess with solder.– John PDec 11, 2021 at 1:10
-
Agree. I mean, that mono si easy deal: just mathematically add 2 signals (left right) and you get mono– RedEyedDec 12, 2021 at 6:18
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
-
1
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.
-
I get the same sink name as you, but when I run the command I get the output: >>> Module load failed. Using Ubuntu 14.04 Aug 31, 2014 at 15:40
Installing Gnome Alsa Mixer by executing
$sudo apt-get install gnome-alsamixer
there are some options:
"Mono Output Select" and "Mix Mono"
-
4These options do not appear on every soundcard; when I installed it the only options there were "auto-mute", "IEC958" and "Loopback mixing", nothing to do with mono outputs.– Jez WAug 2, 2017 at 8:52