Kann ich Stereo-Audio auf Mono heruntermischen?

40

Ich habe einen Lautsprecher neben meinem Computer, den ich hauptsächlich als Kopfhörerverstärker verwende. Gelegentlich muss ich es als Lautsprecher verwenden. Ist es möglich, die Audioausgabe schnell von Stereo auf Mono zu ändern, entweder systemweit oder als Plugin für einen Media Player?


quelle
Als Randnotiz kann ich dies auf meinem Android-Telefon mit der Voodoo Control-App tun, die einen benutzerdefinierten Kernel erfordert, der den in den Galaxy-Telefonen gefundenen Kopfhörerverstärker
optimiert

Antworten:

58
  1. Suchen Sie den Namen Ihrer Audio-Senke, indem Sie ausführen

    pacmd list-sinks | grep name:
  2. Führen Sie dann diesen Befehl aus (achten Sie darauf, die spitzen Klammern zu entfernen):

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

    oder fügen Sie das Argument pacmdauf , /etc/pulse/default.paum es beim Systemstart ausgeführt.

  3. Wählen Sie dann in den Toneinstellungen "Mono" als Ausgang, aber denken Sie daran, die Lautstärke um die Hälfte zu reduzieren, da zwei Kanäle zu einem zusammengemischt werden, da sonst Verzerrungen auftreten. Führen Sie zum Testen Folgendes aus:

    speaker-test -c 2 -t sine

Das Gleiche in einem einzigen Befehl:

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. Um den Monokanal zu entfernen, verwenden Sie einfach:

    pacmd unload-module module-remap-sink
daithib8
quelle
Lief wie am Schnürchen! Gutes Zeug! Ich musste das tun, weil ich nur noch 1 Lautsprecher übrig habe (von 4 Lautsprechern, die nur den vorderen Anschluss verwenden) und die Phone Booth-DVD einen Ton im falschen Kanal oder so abgespielt hat.
Bruce van der Kooij
Bin ich der Einzige, der bei diesem Versuch selbst bei geringer Lautstärke eine Klangverzerrung des Systems bekommt?
Severo Raz
2
Stellen Sie sicher, dass Sie die Lautstärke "Programme" (auch in den Toneinstellungen zu finden) sowie die Lautstärke "Ausgabe" verringern. Wenn Sie Musik vom Terminal abspielen, können Sie die Lautstärke von dort aus einstellen.
Daithib8
4
Nur ein Kommentar für alle, die ein wenig verwirrt sind (so wie ich): Wenn @ daithib8 schreibt "oder das Argument zu pacmd zu /etc/pulse/default.pa hinzufügt", bedeutet dies, dass Sie Folgendes tun sudo emacs /etc/pulse/default.pa( sudo nanooder welchen Editor Sie auch immer bevorzugen), Scrollen Sie bis zum Ende und fügen Sie dann alles vom Befehl bis auf den pacmd Teil in eine neue Zeile am Ende der Datei ein. Dann speichere und starte neu :-)
machineghost
1
Sie sind ein Lebensretter für Menschen mit einseitigem Hörverlust.
Omri Barel
14

Ich habe Antwort 1 in ein Perl-Skript umgewandelt, daher muss ich mir diese 2 Befehle nicht merken:

#!/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));

(Ich hätte diese Antwort kommentiert, aber mein Karma ist zu niedrig ;-))

Leben des Pie
quelle
Wie kann die Ausgabe des Befehls pacmd ausgeblendet werden?
jarno
2
Oh, Sie könnten den Befehl exec ersetzen durch exec "pacmd load-module module-remap-sink sink_name=hono master=$choice channels=1 channel_map=mono >/dev/null";(Dies verbirgt die Ausgabe und verwendet eine etwas einfachere Zuordnung.)
jarno
3

Wenn Sie Jack verwenden , können Sie dies mit Patches (die mit installiert werden können) tun apt-get install patchage. Es hat eine sehr intuitive Oberfläche.

manyids2
quelle
Was machen Sie nach der Installation von Patches? Es gibt keine Hilfe im Menü "Hilfe" und ich kann kein Handbuch oder Intro auf der Website finden .
User800
@ user800: Verbinden Sie pulse_sink left / right und jack sink left / right mit der Systemwiedergabe_1
Laurent Debricon,
1

Es scheint, dass es keinen einfachen Weg gibt, dies zu tun.

Sie können dies jedoch tun, indem Sie alle PulseAudio-Ausgaben an eine Jack-Senke weiterleiten. Zu umständlich, um beiläufig verwendet zu werden ...

Janus Troelsen
quelle
0

Möglicherweise können Sie den Toneinstellungen-Manager von pulseaudio verwenden, um Stereo in Mono zu ändern. Oder Sie können einfach versuchen, alles auf den linken oder rechten Lautsprecher zu verschieben.


quelle
Paning funktioniert nicht. Es werden nicht beide Kanäle zusammengemischt, es wird einer der Lautsprecher stummgeschaltet und nur der Ausgang von einem der Kanäle genommen.
Rafał Cieślak
Schwenken ist das, wonach David fragt. Beim Panning werden zwei Kanäle gemischt, um sie an einen Lautsprecher auszugeben, normalerweise um den Eindruck zu erwecken, dass der Ton aus einer bestimmten Richtung kommt. Daher der Name pan (orama) ing. Bei einer Variante, die als " Panning Straight Up" bezeichnet wird , werden die Kanäle zusammengemischt, wobei jedoch jeder Lautsprecher die gleiche Menge des Ergebnisses ausgibt. Da er nur einen Lautsprecher benutzt, würde dies auch für ihn funktionieren. Der Lautstärkeregler von Pulseaudio stellt nur die Balance ein, bei der die Lautstärke an jedem Lautsprecher eingestellt wird, obwohl kein Mischen stattfindet.
Daithib8
0

Als Ergänzung können Sie, nachdem Sie Ihre Mono-Senke mit den obigen Antworten erstellt haben, dieses Skript einem Hotkey zuordnen:

 #!/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;

Dies schaltet zwischen den Senken um und ordnet den aktuellen Stream der neuen Senke zu (ma

Leonardo Arroyo
quelle