हार्डवेयर की आवाज़ को दबाने की सुविधा बंद करें

हम Chrome 64 में, getUserMedia ऑडियो स्ट्रीम के लिए नई सुविधा आज़मा रहे हैं, जिसमें echoCancellation कंस्ट्रेंट को चालू किया गया है. नई बात यह है कि इस तरह की स्ट्रीम, स्ट्रीम की अवधि के दौरान हार्डवेयर की आवाज़ को कुछ देर के लिए दबाने की सुविधा को कुछ समय के लिए बंद कर देती हैं. हमें उम्मीद है कि इससे इको रद्द करने वाले टूल की परफ़ॉर्मेंस बेहतर होगी. यह फ़ंक्शन प्रयोग के तौर पर उपलब्ध है. इसलिए, इसे चालू करना ज़रूरी है. नीचे देखें.

फ़िलहाल, यह तरीका सिर्फ़ कुछ इनपुट डिवाइसों पर काम करता है. साथ ही, यह सिर्फ़ macOS पर ही काम करता है. यह सुविधा सिर्फ़ उन डिवाइसों पर काम करती है जिन पर System Preferences के साउंड पैनल में, “ऐंबियंट नॉइज़ रिडक्शन” को टॉगल किया जा सकता हो.

बैकग्राउंड

इको रद्द करने वाला एक व्यक्ति, माइक्रोफ़ोन से आए ऑडियो सिग्नल से स्पीकर पर आने वाली किसी भी आवाज़ को हटाने की कोशिश करता है. इसके बिना, कॉल में एक पक्ष के तौर पर आपकी कही गई बात को, दूसरे पक्षों के माइक्रोफ़ोन से लिया जाएगा और फिर आपको वापस भेजा जाएगा. आपको अपनी झलक सुनाई देगी!

इको को हटाने के लिए, WebRTC के इको रद्द करने वाले टूल (जिसका इस्तेमाल Chrome में किया जाता है) को माइक्रोफ़ोन से ज़्यादा से ज़्यादा ऑडियो सिग्नल से देने की ज़रूरत होती है. ऑडियो को इको रद्द करने वाले टूल तक पहुंचने से पहले लागू की गई प्रोसेसिंग, जैसे कि हार्डवेयर की आवाज़ को कम करने की सुविधा, आम तौर पर इसकी परफ़ॉर्मेंस पर असर डालती है. इसके अलावा, सॉफ़्टवेयर की वजह से ग़ैर-ज़रूरी आवाज़ें कम करने की सुविधा पहले से ही मौजूद है. हालांकि, इको रद्द करने वाले टूल की प्रोसेसिंग पूरी होने के बाद ही, ऐसा किया जाता है.

नए व्यवहार की जानकारी

वेब डेवलपर अपनी साइटों पर इस नई सुविधा को चालू कर सकते हैं. इसके लिए, उन्हें ऑरिजिन ट्रायल के लिए ऑप्ट-इन करना होगा. असली उपयोगकर्ता, Chrome शुरू करते समय कमांड-लाइन फ़्लैग भेजकर, इसे दुनिया भर में चालू कर सकते हैं. ज़्यादा जानकारी के लिए, नीचे देखें.

जब इसे चालू किया जाता है और वेब पेज किसी इनपुट डिवाइस से ऑडियो पाने के लिए getUserMedia को कॉल करता है, तो ये कार्रवाइयां होती हैं:

  • अगर echoCancellation कंस्ट्रेंट चालू है, तो नई बनाई गई ऑडियो स्ट्रीम के दौरान, हार्डवेयर की आवाज़ को रोकने की सुविधा बंद हो जाएगी.

  • यह सेटिंग पूरे सिस्टम के लिए है. इसलिए, यह एक ही डिवाइस (यानी एक ही माइक्रोफ़ोन) के सभी ऑडियो इनपुट स्ट्रीम पर लागू होगी.

  • हार्डवेयर की आवाज़ को दबाने की सुविधा बंद करने वाली आखिरी स्ट्रीम बंद होने पर, हार्डवेयर की आवाज़ को रोकने की सुविधा को फिर से चालू कर दिया जाता है.

  • अगर हार्डवेयर की आवाज़ को कम करने की सुविधा पहले से ही बंद है, तो Chrome अपनी स्थिति नहीं बदलेगा.

  • अगर echoCancellation को चालू किए बिना getUserMedia को कॉल किया जाता है, तो Chrome, हार्डवेयर की आवाज़ को कम करने की सुविधा को नहीं टच करेगा.

इस सेटिंग को उपयोगकर्ता भी कंट्रोल कर सकते हैं. इसलिए, उपयोगकर्ता के साथ कुछ खास तरह के इंटरैक्शन होते हैं:

  • अगर Chrome ने हार्डवेयर की आवाज़ को कम करने की सुविधा को बंद कर दिया है और उपयोगकर्ता उसे फिर से चालू कर देता है, तो Chrome उस स्ट्रीम के लिए इसे फिर से बंद करने की कोशिश नहीं करेगा.

  • अगर Chrome ने हार्डवेयर की आवाज़ को कम करने की सुविधा को बंद कर दिया है और उपयोगकर्ता उसे फिर से चालू करता है और फिर से बंद कर देता है, तो स्ट्रीम बंद होने के बाद भी Chrome उसे फिर से चालू करेगा.

यह व्यवहार, प्रयोग को चालू करने पर लागू होता है. एपीआई में किसी भी तरह के बदलाव की ज़रूरत नहीं है.

एक्सपेरिमेंट को चालू करने का तरीका

अपनी साइट पर इस नई सुविधा के लिए, आपको "शोर को कम करने की सुविधा बंद करें" ऑरिजिन ट्रायल के लिए साइन अप करना होगा. अगर आपको इसे सिर्फ़ डिवाइस पर आज़माना है, तो कमांड लाइन पर भी चालू किया जा सकता है:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

इस फ़्लैग को कमांड-लाइन पर पास करने से, मौजूदा सेशन के लिए यह सुविधा दुनिया भर में चालू हो जाती है.

इस प्रयोग में हम कुछ पहलुओं का मूल्यांकन करना चाहते हैं:

  • हार्डवेयर की आवाज़ को कम करने की सुविधा को चालू करने और बंद करने के बीच के फ़ील्ड में, क्वालिटेटिव अंतर.

  • Chrome से इस सेटिंग को बदलने से असली उपयोगकर्ता और उनके चलाए जा रहे दूसरे सॉफ़्टवेयर पर किस तरह असर पड़ता है?

हमें इन दोनों पहलुओं के बारे में राय, सुझाव या शिकायत भेजनी है. क्या इस सुविधा के चालू होने पर कॉल बेहतर या खराब हैं? क्या इसे लागू करने में कोई ऐसी समस्या है जिसकी वजह से अनचाहा व्यवहार होता है? किसी भी स्थिति में, अगर आपको यह कोशिश करनी है, तो कृपया इस बग के बारे में सुझाव दें. अगर हो सके, तो यह बताएं कि कौनसा माइक्रोफ़ोन / हेडसेट / वगैरह इस्तेमाल किया गया था. साथ ही, यह भी बताएं कि क्या आस-पास के शोर को कम करने की सुविधा काम करती है. अगर बड़े पैमाने पर प्रयोग किए जा रहे हैं, तो ऑडियो कॉल की क्वालिटी के तुलना वाले आंकड़ों के लिंक को पसंद किया जाएगा.