Forcer le downmix en mono sous Linux

8

Pour des raisons personnelles (je suis malentendant), j'ai besoin de ma machine Linux pour produire un son mono sous-mixé. Sous-mixé, pas seulement un canal.

Existe-t-il une possibilité de forcer un tel comportement sur le serveur ALSA / PulseAudio? Le mixage matériel (court-circuit des canaux L et R avec certaines résistances) n'est pas possible pour le moment. Je recherche une solution logicielle pour mélanger deux canaux en un.

Je sais que certains lecteurs multimédias ont cette fonctionnalité, mais j'aimerais que tout le système (jeux, applications flash, etc.) produise un son sous-mixé.

Néo
la source

Réponses:

10

Je n'ai fait aucun test approfondi, mais ce ~/.asoundrcfichier (ou /etc/asound.conf) devrait fonctionner pour tout ce qui utilise ALSA. Suppose que vous ne souhaitez traiter que deux canaux d'entrée (gauche et droite) et que votre carte son est à 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
    }
}

Consultez la documentation officielle pour plus de détails sur la façon d'affiner / compliquer les choses.

goldPseudo
la source
Cela m'a mis sur la bonne voie, merci! Maintenant que PulseAudio est une chose, je devais également copier /etc/pulse/default.paà ~/.config/pulse/default.paet décommenter la ligne qui dit load-module module-alsa-sink, puis exécutez pulseaudio -kpour ramasser les changements. Voir aussi: superuser.com/a/1158248/9599
We Are All Monica