Puis-je réduire l'audio stéréo en mono?

41

J'ai un haut-parleur à côté de mon ordinateur que j'utilise principalement comme amplificateur de casque. À l'occasion, j'ai besoin de l'utiliser comme haut-parleur. Est-il possible de changer rapidement la sortie audio de stéréo en mono, à l'échelle du système ou en tant que plug-in pour un lecteur multimédia?


la source
En passant, je peux le faire sur mon téléphone Android à l’aide de l’application Voodoo Control, qui nécessite un noyau personnalisé qui modifie l’ampli casque
fourni

Réponses:

59
  1. Recherchez le nom de votre récepteur audio en exécutant

    pacmd list-sinks | grep name:
  2. Puis exécutez cette commande (en prenant soin de supprimer les crochets):

    pacmd load-module module-remap-sink sink_name=mono master=<name_of_audio sink_given_by_previous_command> channels=2 channel_map=mono,mono

    ou ajouter l'argument à pacmdpour /etc/pulse/default.paqu'il s'exécute au démarrage.

  3. Ensuite, dans les préférences sonores, choisissez "Mono" comme sortie, mais n'oubliez pas de réduire le volume de moitié, car deux canaux sont mélangés en un, sinon vous aurez une distorsion. Pour tester, lancez:

    speaker-test -c 2 -t sine

Même chose en une seule commande:

pacmd load-module module-remap-sink sink_name=mono master=$(pacmd list-sinks | grep -m 1 -oP 'name:\s<\K.*(?=>)') channels=2 channel_map=mono,mono
  1. Pour supprimer le canal mono, utilisez simplement:

    pacmd unload-module module-remap-sink
daithib8
la source
Travaillé comme un charme! Bon produit! Je devais le faire car il ne me restait plus que 1 enceinte (sur 4, en utilisant uniquement le connecteur frontal) et le DVD de la cabine téléphonique diffusait du son sur le mauvais canal ou quelque chose du genre.
Bruce van der Kooij
Suis-je le seul à avoir une distorsion du son du système même à faible volume lorsque j'essaie?
Severo Raz
2
Assurez-vous de réduire le volume "Applications" (également disponible dans les Préférences sonores) ainsi que le volume "Sortie". Si vous écoutez de la musique depuis le terminal, vous pouvez régler ce volume à partir de là.
daithib8
4
Juste un commentaire pour ceux qui sont un peu confus (comme je l’ai fait): quand @ daithib8 écrit "ou ajoute l’argument to pacmd à /etc/pulse/default.pa", cela signifie faire sudo emacs /etc/pulse/default.pa( sudo nanoou quel que soit l’éditeur que vous préférez), faites défiler l'écran jusqu'à la fin, puis collez tout, de la commande à l'exception de la pacmd pièce dans une nouvelle ligne au bas du fichier. Puis enregistrez et redémarrez :-)
machineghost
1
Vous êtes une bouée de sauvetage pour les personnes ayant une perte auditive unilatérale.
Omri Barel
14

J'ai converti la réponse 1 dans un script Perl, donc je n'ai pas besoin de me souvenir de ces 2 commandes:

#!/usr/bin/perl
use strict;

my @choices = ();
my $i = 0;
for (`pacmd list-sinks`) {
    if( /name:.*<(.+)>/) {
        $choices[$i++] = $1;
        print "$i:\t$1\n";
    }
}
my $choice = $choices[<>-1] or die "invalid choice";
exec (qw(pacmd load-module module-remap-sink sink_name=mono),
    "master=$choice",
    qw(channels=2 channel_map=mono,mono));

(J'aurais annoté cette réponse, mais mon karma est trop faible ;-))

vie de tarte
la source
Comment pouvez-vous masquer la sortie de la commande pacmd?
jarno
2
Oh, vous pourriez remplacer la commande exec par exec "pacmd load-module module-remap-sink sink_name=hono master=$choice channels=1 channel_map=mono >/dev/null";(Ceci masque la sortie et utilise un mappage légèrement plus simple.)
jarno
3

Si vous utilisez jack , vous pouvez utiliser patchage (qui peut être installé avec apt-get install patchage). Il a une interface très intuitive.

manyids2
la source
Alors, que faites-vous après avoir installé Patchage? Il n'y a pas d'aide dans le menu "Aide" et je ne trouve pas de manuel ni d'intro sur le site Web .
user800
@ user800: connectez Pulse_sink gauche / droite et le connecteur jack gauche / droite au système de
lecture_1
1

Il semble qu'il n'y ait pas de moyen facile de faire cela.

Vous pouvez toutefois le faire en envoyant toutes les sorties PulseAudio par proxy à un récepteur Jack. Trop lourd pour être utilisé avec désinvolture ...

Janus Troelsen
la source
0

Vous pourrez peut-être utiliser le gestionnaire de paramètres de son pulseaudio pour changer le mode stéréo en mono. Ou peut-être pouvez-vous simplement essayer de tout déplacer vers le haut-parleur gauche ou droit.


la source
Paner ne fonctionnera pas. Il ne mélangera pas les deux canaux, il mettra en sourdine l'une des enceintes et n'utilisera que la sortie de l'un des canaux.
Rafał Cieślak le
Le panoramique est ce que David demande. Le panoramique est l'acte de mélanger deux canaux afin de les émettre vers un haut-parleur, généralement afin de donner l'impression que le son provient d'une direction particulière. D'où le nom pan (orama) ing. Une variante de celui-ci, appelée panoramique vers le haut , mélange les canaux mais fournit une quantité égale du résultat à chaque locuteur. Puisqu'il n'utilise qu'un seul haut-parleur, cela lui conviendrait également. Le contrôle du volume Pulseaudio règle uniquement la balance, le volume de chaque enceinte étant ajusté sans qu’il n’y ait de mixage.
daithib8
0

En complément, après avoir créé votre récepteur mono avec les réponses ci-dessus, vous pouvez mapper ce script sur un raccourci clavier:

 #!/bin/bash

 if [ "* index: 0" == "$(pacmd list-sinks | grep "*" | sed 's/^ *//')" ];
    then pacmd set-default-sink 1 && notify-send "Mono";
    SINK=1;
 else
    pacmd set-default-sink 0 && notify-send "Stereo";
    SINK=0; 
 fi;
 pacmd list-sink-inputs | grep index | grep -o '[0-9]*' | while read -r line; 
    do pacmd move-sink-input $line $SINK;
 done;

Ceci basculera entre les puits et remappera le flux actuel vers le nouveau puits (ma

Leonardo Arroyo
la source