Stereo sesi mono'ya indirebilir miyim?


40

Bilgisayarımın yanında, çoğunlukla kulaklık amplifikatörü olarak kullandığım bir hoparlörüm var. Bazen bir hoparlör olarak kullanmam gerekiyor. Ses çıkışını stereodan monoya, sistem genelinde veya bir medya oynatıcı için eklenti olarak hızlıca değiştirmek mümkün müdür?

sound 

Bir yandan not olarak, galakside cep telefonlarında bulunan kulaklık yükselticisini
ayarlayan

Yanıtlar:


57
  1. Ses lavabonuzun adını çalıştırarak bulun.

    pacmd list-sinks | grep name:
  2. Ardından bu komutu çalıştırın (açılı parantezleri çıkarmaya dikkat ederek):

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

    veya başlangıçta çalışmasını pacmdsağlamak /etc/pulse/default.paiçin argümanı ekleyin .

  3. Sonra, Ses Tercihleri'nde çıkış olarak "Mono" yu seçin, ancak iki kanal bir araya geldiğinden sesleri yarıya düşürmeyi unutmayın, aksi takdirde bozulma olur. Test etmek için çalıştırın:

    speaker-test -c 2 -t sine

Tek bir komutta aynı şey:

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. Mono kanalı kaldırmak için sadece şunu kullanın:

    pacmd unload-module module-remap-sink

Bir cazibe gibi çalıştı! İyi şeyler! Bunu yapmak zorundaydım çünkü sadece 1 hoparlör kaldı (4 hoparlörden sadece ön konektörü kullanarak) ve Phone Booth DVD'si yanlış kanalda veya bazı şeylerde bazı sesler çalıyordu.
Bruce van der Kooij

Bunu denediğimde, düşük ses seviyelerinde bile sistem sesini bozan tek kişi ben miyim?
Severo Raz

2
"Uygulamalar" ses seviyesini (Ses Tercihleri ​​içinde de bulunur) ve ayrıca "Çıkış" ses seviyesini düşürdüğünüzden emin olun. Terminalden müzik çalıyorsanız, bu ses seviyesini oradan ayarlayabilirsiniz.
daithib8

4
Kafamın karıştığı herkes için bir yorum (benim yaptığım gibi): @ daithib8 yazdığında "veya argümanını /etc/pulse/default.pa" dizinine argümanına eklediğinde, bu demek oluyor ki sudo emacs /etc/pulse/default.pa( sudo nanoveya ne tür bir editör istersen), aşağıya doğru kaydırın ve daha sonra komut dışındaki her şeyi pacmd dosyanın altındaki yeni bir satıra yapıştırın . Sonra kaydedin ve yeniden başlatın :-)
machineghost

1
Tek taraflı işitme kaybı olan insanlar için bir cankurtaransın.
Omri Barel

14

Cevap 1'i perl betiğine yazdım, bu yüzden bu 2 komutu hatırlamama gerek yok:

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

(Bu cevaba not eklerdim ama karma değerim düşük ;-)


Pacmd komutunun çıktısını nasıl gizleyebilirsiniz?
jarno

2
Oh, exec komutunu değiştirebilirsiniz exec "pacmd load-module module-remap-sink sink_name=hono master=$choice channels=1 channel_map=mono >/dev/null";(Bu çıktıyı gizler ve biraz daha basit haritalama kullanır.)
jarno

3

Kriko kullanıyorsanız , o zaman bunu (takılı olan apt-get install patchage) yama kullanarak da yapabilirsiniz . Çok sezgisel bir arayüze sahip.


Peki yamalımı yükledikten sonra ne yaparsın? "Yardım" menüsünde yardım bulunmuyor ve web sitesinde bir kılavuz veya tanıtım bulamıyorum .
user800,

@ user800: pulse_sink'i sola / sağa bağlayın ve jakı sistemden oynatmak için sola / sağa
sokun_1

1

Bunu yapmanın kolay bir yolu yok gibi görünüyor.

Yine de, tüm PulseAudio çıkışlarını bir Jack lavaboya sokarak yapabilirsiniz. Raslantı kullanılamayacak kadar hantal ...


0

Stereoyu monoya çevirmek için pulseaudio ses ayarları yöneticisini kullanabilirsiniz. Veya belki de her şeyi sol veya sağ konuşmacıya çevirmeyi deneyebilirsiniz.


Paning işe yaramaz. Her iki kanalı birlikte karıştırmaz, hoparlörlerden birini susturur ve yalnızca kanallardan birinden çıktı alır.
Rafał Cieślak

Kaydırma David'in istediği şey. Kaydırma eylemidir karıştırma genellikle ses, bir yönden geldiği izlenimini vermek için, bir hoparlöre onları çıkışa sırayla birlikte iki kanalı. Bu yüzden adı pan (orama) ing. Doğrudan kaydırma yapmak olarak adlandırılan bunun bir çeşidi , kanalları birbirine karıştırıyor ancak sonucun her bir konuşmacıya eşit miktarda çıktısını veriyor. Sadece bir konuşmacı kullandığından, bu onun için de işe yarar. Pulseaudio ses seviyesi kontrolü, her hoparlördeki ses seviyesinin ayarlanmadığı, ancak karıştırma olmadığında dengeyi ayarlar.
daithib8

0

Ek olarak, mono lavabonuzu yukarıdaki cevaplarla oluşturduktan sonra bu komut dosyasını bir kısayol tuşuyla eşleyebilirsiniz:

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

Bu, lavabolar arasında geçiş yapar ve mevcut akışı yeni lavaboya yeniden eşler (ma

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.