У меня есть один динамик рядом с моим компьютером, который я использую в основном как усилитель для наушников. Иногда мне нужно использовать его как громкоговоритель. Можно ли быстро изменить вывод звука со стерео на моно, в масштабе всей системы или в качестве плагина для медиаплеера?
Найдите имя вашего аудио приемника, выполнив
pacmd list-sinks | grep name:
Затем выполните эту команду (стараясь убрать угловые скобки):
pacmd load-module module-remap-sink sink_name=mono master=<name_of_audio sink_given_by_previous_command> channels=2 channel_map=mono,mono
или добавьте аргумент в pacmd
к /etc/pulse/default.pa
, чтобы он запускался при запуске.
Затем в Настройки звука выберите «Моно» в качестве выхода, но не забудьте уменьшить громкость вдвое, так как два канала смешиваются в один, иначе вы будете иметь искажения. Чтобы проверить, выполните:
speaker-test -c 2 -t sine
То же самое в одной команде:
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
Чтобы удалить моноканал, просто используйте :
pacmd unload-module module-remap-sink
Я привел ответ 1 в perl-скрипт, поэтому мне не нужно запоминать эти 2 команды:
#!/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));
(я бы прокомментировал этот ответ, но моя карма состоит в том, чтобы низкий ;-))
Возможно, вы сможете использовать менеджер настроек звука pulseaudio для переключения стерео на моно. Или, может быть, вы можете попробовать просто панорамировать все на левый или правый динамик.
Если вы используете разъем , то вы можете сделать это с помощью patchage (который можно установить с помощью apt-get install patchage
). У него очень интуитивный интерфейс.
Кажется, нет простого способа сделать это.
Вы можете сделать это, передавая весь выход PulseAudio в приемник Jack. Слишком громоздким, чтобы использовать его случайно ...
В качестве дополнения, после того, как вы создали свой монофонический приемник с приведенными выше ответами, вы можете сопоставить этот скрипт с горячей клавишей:
#!/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;
Это переключит между приемниками и переназначит текущий поток на новый раковина (ма