Можно ли микшировать стереофонический звук в моно?

У меня есть один динамик рядом с моим компьютером, который я использую в основном как усилитель для наушников. Иногда мне нужно использовать его как громкоговоритель. Можно ли быстро изменить вывод звука со стерео на моно, в масштабе всей системы или в качестве плагина для медиаплеера?

41
задан 16 December 2010 в 22:36

6 ответов

  1. Найдите имя вашего аудио приемника, выполнив

    pacmd list-sinks | grep name:
    
  2. Затем выполните эту команду (стараясь убрать угловые скобки):

    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, чтобы он запускался при запуске.

  3. Затем в Настройки звука выберите «Моно» в качестве выхода, но не забудьте уменьшить громкость вдвое, так как два канала смешиваются в один, иначе вы будете иметь искажения. Чтобы проверить, выполните:

    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
  1. Чтобы удалить моноканал, просто используйте :

    pacmd unload-module module-remap-sink
    
0
ответ дан 16 December 2010 в 22:36

Я привел ответ 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));

(я бы прокомментировал этот ответ, но моя карма состоит в том, чтобы низкий ;-))

0
ответ дан 16 December 2010 в 22:36

Возможно, вы сможете использовать менеджер настроек звука pulseaudio для переключения стерео на моно. Или, может быть, вы можете попробовать просто панорамировать все на левый или правый динамик.

0
ответ дан 16 December 2010 в 22:36

Если вы используете разъем , то вы можете сделать это с помощью patchage (который можно установить с помощью apt-get install patchage). У него очень интуитивный интерфейс.

0
ответ дан 16 December 2010 в 22:36

Кажется, нет простого способа сделать это.

Вы можете сделать это, передавая весь выход PulseAudio в приемник Jack. Слишком громоздким, чтобы использовать его случайно ...

0
ответ дан 16 December 2010 в 22:36

В качестве дополнения, после того, как вы создали свой монофонический приемник с приведенными выше ответами, вы можете сопоставить этот скрипт с горячей клавишей:

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

Это переключит между приемниками и переназначит текущий поток на новый раковина (ма

0
ответ дан 16 December 2010 в 22:36

Другие вопросы по тегам:

Похожие вопросы: