Forçar downmix para mono no Linux

8

Por motivos pessoais (estou com problemas de audição), preciso da minha máquina Linux para produzir som mono downmixed. Downmixed, não apenas um canal.

Existe alguma possibilidade de forçar esse comportamento no servidor ALSA / PulseAudio? A mistura de hardware (curto-circuito nos canais L e R com alguns resistores) não é possível no momento. Estou procurando uma solução de software para misturar dois canais em um.

Sei que alguns players de mídia têm essa funcionalidade, mas eu gostaria que todo o sistema (por exemplo, jogos, aplicativos em flash etc.) produzisse áudio com mixagem reduzida.

Neo
fonte

Respostas:

10

Não fiz nenhum teste extenso, mas esse ~/.asoundrcarquivo (ou /etc/asound.conf) deve funcionar para qualquer coisa que use o ALSA. Supõe que você deseja lidar apenas com dois canais (esquerdo e direito) e que sua placa de som esteja em 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
    }
}

Confira a documentação oficial para obter detalhes sobre como ajustar / complicar ainda mais as coisas.

goldPseudo
fonte
Isso me colocou no caminho certo, obrigado! Agora que PulseAudio é uma coisa, eu tinha que copiar também /etc/pulse/default.papara ~/.config/pulse/default.pae uncomment a linha que diz load-module module-alsa-sink, então corra pulseaudio -kpara pegar as alterações. Veja também: superuser.com/a/1158248/9599
We Are All Monica