क्या मैं मोनो को स्टीरियो ऑडियो डाउनमिक्स कर सकता हूं?


40

मेरे पास मेरे कंप्यूटर के बगल में एक स्पीकर है जो मैं ज्यादातर हेडफोन एम्पलीफायर के रूप में उपयोग करता हूं। इस अवसर पर मुझे लाउडस्पीकर के रूप में इसका उपयोग करने की आवश्यकता है। क्या ऑडियो आउटपुट को स्टीरियो से मोनो में बदलना संभव है, या तो सिस्टम-वाइड या मीडिया प्लेयर के लिए प्लगइन के रूप में?

sound 

एक साइड नोट के रूप में, मैं वूडू कंट्रोल ऐप का उपयोग करके अपने एंड्रॉइड फोन पर ऐसा कर सकता हूं जिसमें एक कस्टम कर्नेल की आवश्यकता होती है जो आकाशगंगा फोन में पाए गए हेडफोन amp को
घुमाता है

जवाबों:


58
  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

एक जादू की तरह काम किया! अच्छी चीज़! मुझे ऐसा करना पड़ा क्योंकि मेरे पास केवल 1 स्पीकर बचा है (4 स्पीकर में से, केवल फ्रंट कनेक्टर का उपयोग करके) और फोन बूथ डीवीडी गलत चैनल या कुछ में कुछ ध्वनि चला रहा था।
ब्रूस वैन डेर कोइज

क्या मैं अकेला हूँ जिसे यह कोशिश करते समय कम मात्रा में भी सिस्टम साउंड डिस्टॉर्शन मिलता है?
सेवेरो रज़

2
"एप्लिकेशन" वॉल्यूम (ध्वनि वरीयता के भीतर भी पाया गया) और साथ ही "आउटपुट" वॉल्यूम को कम करना सुनिश्चित करें। यदि आप टर्मिनल से संगीत बजाते हैं तो आप उस वॉल्यूम को वहां से समायोजित कर सकते हैं।
डेथिब 8

4
बस किसी के लिए एक टिप्पणी जो थोड़ा भ्रमित हो जाती है (जैसा कि मैंने किया था): जब @ daithib8 लिखता है "या pacmd को /etc/pulse/default.pa" में तर्क जोड़ें, इसका मतलब है कि sudo emacs /etc/pulse/default.pa( sudo nanoया जो भी आप पसंद करते हैं), अंत तक स्क्रॉल करना, और फिर pacmd फ़ाइल के निचले भाग में एक नई लाइन के भाग को छोड़कर कमांड से सब कुछ चिपकाना । फिर सहेजें और पुनः आरंभ करें :-)
मशीनघोस्ट

1
आप एकल पक्षीय सुनवाई हानि वाले लोगों के लिए एक जीवन रक्षक हैं।
ओमरी बरेल

14

मैंने उत्तर 1 को एक पर्ल-स्क्रिप्ट में डाला है, इसलिए मुझे इन 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));

(मुझे लगता है कि जवाब एनोटेट किया होगा, लेकिन मेरे कर्म कम; ;-))


आप pacmd कमांड का आउटपुट कैसे छिपा सकते हैं?
जर्नो

2
ओह, आप निष्पादन कमांड को बदल सकते हैं exec "pacmd load-module module-remap-sink sink_name=hono master=$choice channels=1 channel_map=mono >/dev/null";(यह आउटपुट छुपाता है, और थोड़ा सरल मैपिंग का उपयोग करता है।)
jarno

3

यदि आप जैक का उपयोग कर रहे हैं , तो आप पैटचेज का उपयोग करके ऐसा कर सकते हैं (जो कि स्थापित किया जा सकता है apt-get install patchage)। इसका बहुत सहज इंटरफ़ेस है।


तो patchage लगाने के बाद आप क्या करते हैं? "सहायता" मेनू में कोई मदद नहीं है और मुझे वेबसाइट पर मैनुअल या परिचय नहीं मिल सकता है ।
user800

@ user800: कनेक्ट पल्स_सिंक लेफ्ट / राइट और जैक सिंक लेफ्ट / राइट टू सिस्टम
प्लेबैक_1

1

ऐसा लगता है कि ऐसा करने का कोई आसान तरीका नहीं है।

हालांकि, आप इसे सभी PulseAudio आउटपुट को जैक सिंक में समीप करके कर सकते हैं। लापरवाही से इस्तेमाल किया जा करने के लिए बहुत बोझिल ...


0

आप मोनो को स्टीरियो बदलने के लिए pulseaudio साउंड सेटिंग मैनेजर का उपयोग करने में सक्षम हो सकते हैं। या शायद आप सब कुछ छोड़ दिया या सही वक्ता को सब कुछ पैन करने की कोशिश कर सकते हैं।


पैनिंग काम नहीं करेगा। यह दोनों चैनलों को एक साथ नहीं मिलाएगा, यह एक स्पीकर को म्यूट करेगा और एक चैनल से सिर्फ आउटपुट लेगा।
राफेल Cie Aprlak

पैनिंग वह है जो डेविड मांग रहा है। पैनिंग दो चैनलों को एक साथ मिलाने के लिए उन्हें एक स्पीकर में आउटपुट करने की क्रिया है , आमतौर पर यह धारणा देने के लिए कि ध्वनि किसी विशेष दिशा से आ रही है। इसलिए नाम पैन (orama) आईएनजी। इसका एक प्रकार, जिसे सीधे पैनिंग कहा जाता है , चैनलों को एक साथ मिलाता है लेकिन प्रत्येक स्पीकर को परिणाम की एक समान मात्रा में आउटपुट करता है। चूंकि वह केवल एक स्पीकर का उपयोग कर रहा है इसलिए यह उसके लिए भी काम करेगा। पल्सीडियो वॉल्यूम नियंत्रण केवल संतुलन को समायोजित करता है, जहां प्रत्येक स्पीकर पर वॉल्यूम समायोजित किया जाता है, हालांकि कोई मिश्रण नहीं होता है।
daithib8

0

एक परिशिष्ट के रूप में, उपरोक्त उत्तरों के साथ आपने अपना मोनो सिंक बनाने के बाद, आप इस स्क्रिप्ट को हॉटकी में मैप कर सकते हैं:

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

यह सिंक के बीच टॉगल करेगा और नई सिंक (ma) की वर्तमान धारा को रिमैप करेगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.