Is there an easy way of forcing mono sound output - for one ear, one earphone, one speaker?

share|improve this question
up vote 18 down vote accepted

~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

enter image description here

(The image is from the sound settings of Elementary OS Luna).

share|improve this answer
    
Very Useful... ;-) – Wilf Jan 26 '14 at 18:10
2  
How 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? – jesterII Jun 27 '15 at 20:47
    
Warning to people using PulseAudio Multiband Equalizer: this fix successfully put my sound output to mono but the equalizer stopped working. – Jam May 13 '17 at 18:52

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.

share|improve this answer
    
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 – TenLeftFingers Aug 31 '14 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"

enter image description here

share|improve this answer
    
These 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 W Aug 2 '17 at 8:52

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
    
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.