For personal reasons (I'm hearing impaired) I need my linux machine to produce mono downmixed sound. Downmixed, not just single channel.

Is there any possibility to force such behavior in ALSA / PulseAudio server? Hardware mixing (short-circuiting L and R channels with some resistors) is not possible at the moment. I'm looking for a software solution to mix two channels into one.

I know that some media players have this functionality, but I'd like the whole system (ie games, flash applications, etc) to produce downmixed audio.

1 Answer 1


I haven't done any extensive testing, but this ~/.asoundrc file (or /etc/asound.conf) should work for anything that uses ALSA. Assumes that you only want to deal with two in-channels (left and right), and that your soundcard is at hw:0.

pcm.!default makemono

pcm.makemono {
    type route
    slave.pcm "hw:0"
    ttable {
        0.0 1    # in-channel 0, out-channel 0, 100% volume
        1.0 1    # in-channel 1, out-channel 0, 100% volume

Check out the official documentation for details on how to fine-tune/complicate things further.

  • This got me on the right track, thank you! Now that PulseAudio is a thing, I had to also copy /etc/pulse/default.pa to ~/.config/pulse/default.pa and uncomment the line that says load-module module-alsa-sink, then run pulseaudio -k to pick up the changes. See also: superuser.com/a/1158248/9599 Jun 29, 2019 at 6:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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