1 पॉइंट द्वारा GN⁺ 2023-11-25 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Bluetooth stack में संशोधन के ज़रिए ऑडियो गुणवत्ता में सुधार

  • वायरलेस हेडफ़ोन उपयोगकर्ताओं को standard Bluetooth SBC codec इस्तेमाल करते समय कम sound quality और हाई फ़्रीक्वेंसी की कमी का अनुभव होता है.
  • aptX या LDAC codec सपोर्ट करने वाले डिवाइस खरीदना एक सामान्य समाधान है, लेकिन इन codecs पर license cost लगती है, इसलिए ऐसे डिवाइस अधिक महंगे होते हैं.
  • अभी SBC की कम गुणवत्ता Bluetooth stack और हेडफ़ोन की कृत्रिम सीमाओं की वजह से होती है, और इसे केवल software modification से सभी डिवाइसों पर बायपास किया जा सकता है.

SBC codec

  • SBC में कई parameters होते हैं जो connection setup चरण में negotiate किए जाते हैं: audio channel का प्रकार और संख्या, frequency bands की संख्या, प्रति packet audio blocks की संख्या, quantization bit allocation algorithm, और quantization प्रक्रिया में इस्तेमाल होने वाला maximum और minimum bitpool.
  • मौजूदा Bluetooth stack आम तौर पर Joint Stereo, 8 bands, 16 blocks, Loudness, bitpool 2..53 वाले option set को negotiate करता है.
  • bitpool मान वह parameter है जो encoding bitrate बदलता है; मान जितना अधिक होगा, bitrate और quality उतनी बेहतर होगी.

Bluetooth stack में संशोधन

  • सभी A2DP-compatible Bluetooth stacks को Dual Channel mode सपोर्ट करना चाहिए, लेकिन इस mode को force करने का कोई तरीका नहीं है.
  • Android 8.1 और 9 के लिए patch बनाए गए, जो developer menu में Dual Channel mode जोड़ते हैं, और Bluetooth device settings में इसे "HD Audio" codec के रूप में दिखाया जाता है.
  • यह patch LineageOS, Resurrection Remix, और crDroid जैसे alternative firmware में integrate किया गया है.

551 और 452 kbps की उत्पत्ति

  • Bluetooth time-division technology को बड़े fixed-size packets को कुशलतापूर्वक transmit करने के लिए डिज़ाइन किया गया है.
  • data transfer slots के माध्यम से होता है, और एक transmission में 5 slots अधिकतम संख्या है.
  • 5 slots में 2Mbps speed पर अधिकतम 679 bytes और 3Mbps speed पर अधिकतम 1021 bytes transmit किए जा सकते हैं.

यह सब ज़रूरी क्यों है?

  • aptX की sound quality को लेकर आम धारणा के विपरीत, कुछ मामलों में SBC standard 328k bitrate से भी खराब audio quality दे सकता है.
  • SBC frequency bands के लिए quantization bits को dynamically allocate करता है, जबकि aptX frequency bands को एक स्थिर bit count के साथ quantize करता है.
  • high-bitrate SBC इस्तेमाल करने पर अधिकतर मामलों में aptX से बेहतर sound quality मिल सकती है, और EDR 3 Mb/s सपोर्ट करने वाले हेडफ़ोन पर यह aptX HD के बहुत क़रीब गुणवत्ता देता है.

क्या इससे आगे भी जा सकते हैं?

  • Android patchset एक अतिरिक्त option देता है, जिससे EDR 2 mbps डिवाइसों की bitrate को 452 kbps से बढ़ाकर 595 kbps किया जा सकता है.
  • persist.bluetooth.sbc_hd_higher_bitrate variable को 1 पर सेट करके अधिक bitrate सक्रिय की जा सकती है.

डिवाइस के साथ संगतता

  • SBC Dual Channel लगभग सभी हेडफ़ोन, speakers, और कार head units में सपोर्ट होता है.
  • इस mode की वजह से समस्या पैदा करने वाले डिवाइस बहुत दुर्लभ हैं, लेकिन compatibility की विस्तृत जानकारी 4pda और xda-developers पर मिल सकती है.

sound quality तुलना

  • एक web service बनाई गई है जो browser में real time में audio को SBC (साथ ही aptX और aptX HD) में encode करती है, ताकि अलग-अलग SBC profiles और codecs की sound quality की तुलना की जा सके.

Android developers से संपर्क

  • Google के Bluetooth stack developers से AOSP में patch शामिल करने का अनुरोध किया गया, लेकिन अभी तक कोई जवाब नहीं मिला है.
  • Gerrit code review system में भी development से जुड़े लोगों की ओर से कोई comment नहीं मिला.

निष्कर्ष

  • LineageOS, Resurrection Remix, और crDroid firmware के उपयोगकर्ता Bluetooth device settings में checkbox चुनकर Bluetooth audio quality बेहतर कर सकते हैं.
  • Linux उपयोगकर्ता भी Pali Rohár का patch install करके अधिक SBC bitrate पा सकते हैं.

GN⁺ की राय

इस लेख की सबसे महत्वपूर्ण बात यह है कि मौजूदा Bluetooth audio quality को केवल software modification से बेहतर किया जा सकता है. यह एक आकर्षक समाधान है, क्योंकि इससे नए और महंगे codec-supporting डिवाइस खरीदे बिना मौजूदा डिवाइसों पर बेहतर गुणवत्ता का audio अनुभव किया जा सकता है. खासकर open source firmware इस्तेमाल करने वाले उपयोगकर्ताओं के लिए, ऐसे संशोधन संभव होना तकनीक तक पहुंच बढ़ाने और उपयोगकर्ताओं को अपने डिवाइस पर अधिक नियंत्रण देने वाला एक दिलचस्प विकास है.

1 टिप्पणियां

 
GN⁺ 2023-11-25
Hacker News टिप्पणियाँ
  • SBC के व्यापक समर्थन और इसकी स्वाभाविक विस्तार-क्षमता के प्रति सकारात्मक राय

    SBC का व्यापक रूप से समर्थित होना शानदार है, और यह मौजूदा मानक का स्वाभाविक विस्तार लगता है। व्यक्तिगत रूप से, मुझे SBC की तुलना में LDAC या AAC से समस्या नहीं है, बल्कि समस्या HFP की खराब गुणवत्ता है। माइक्रोफ़ोन चालू होते ही ऐसा लगता है जैसे 90 के दशक में लौट गए हों। दो-तरफ़ा Bluetooth audio की गुणवत्ता में सुधार की इच्छा है.

  • Android Bluetooth stack के बग पर गहन विश्लेषण और हार्डवेयर की विविधता की ओर इशारा

    यह लेख सामान्य Bluetooth के बारे में नहीं, बल्कि Android Bluetooth stack के एक बग पर गहन विश्लेषण है। जिस बात का लेखक ने बिल्कुल उल्लेख नहीं किया, वह यह है कि इस्तेमाल किया जाने वाला हार्डवेयर बेहद विविध है। Android अनगिनत Bluetooth chipsets पर चलता है। इसलिए किसी एक हार्डवेयर पर कोई patch काम करता हुआ दिखे, तो ज़रूरी नहीं कि वह दूसरे Android फ़ोन पर भी काम करे। इसके अलावा, यह इस बात पर भी निर्भर कर सकता है कि डिवाइस उस समय और क्या कर रही है। उदाहरण के लिए, अगर BT+Wifi chipset साझा है, और आप Wi-Fi पर वीडियो stream करते हुए headphones पर audio stream कर रहे हैं, तो डिवाइस को Wi-Fi उपयोग और BT के आधार पर resources बाँटने पड़ते हैं। इसलिए local stored audio और streamed audio को अनिवार्य रूप से एक जैसे CODEC parameters नहीं मिलते। इस विषय में कई सूक्ष्म अंतर हैं जिन पर लेखक ने विचार नहीं किया है, इसलिए इसे पढ़ते समय सावधानी रखनी चाहिए.

  • Windows में 'Alternative A2DP Driver' के ज़रिए SBC parameters समायोजित करने और AAC, aptX, LDAC उपयोग के अनुभव साझा

    "Alternative A2DP Driver" Windows में यह सुविधा देता है। आप SBC parameters को customize कर सकते हैं और AAC, aptX (मैंने इसे आज़माया नहीं) का उपयोग कर सकते हैं। मेरे अनुभव में यह अच्छी तरह काम करता है, और Sony XM4 के साथ LDAC भी इस्तेमाल किया जा सकता है। यह trialware है, लेकिन सस्ता है। high-quality mode में Bluetooth range कम होती देख मैंने पुष्टि की कि वास्तव में codec (या कम-से-कम कुछ) बदल रहा है। ऊपर दिया गया लिंक किसी affiliate संबंध वाला नहीं है.

  • Linux में SBC XQ और mSBC के ज़रिए उच्च bitrate audio और headset audio गुणवत्ता सुधार की संभावना का उल्लेख

    Linux में "SBC XQ" नाम की चीज़ के ज़रिए उच्च bitrate SBC audio सक्षम किया जा सकता है। इसी तरह "mSBC" का उपयोग करके उच्च गुणवत्ता वाला headset audio इस्तेमाल किया जा सकता है (हालाँकि यह SBC या APTX की तुलना में फिर भी कम गुणवत्ता वाला है)। कई headphones बेहतर audio codecs को support करते हैं, लेकिन यह समर्थन सार्वभौमिक नहीं है और दो-तरफ़ा audio में सुधार भी निश्चित नहीं है। उम्मीद है कि Google ने ऐसा या इससे मिलता-जुलता फ़ीचर पहले ही integrate कर लिया हो.

  • Bluetooth audio profiles में पहले से लंबी buffering की अनुमति देने वाले फ़ीचर की आवश्यकता पर बात

    Bluetooth audio profiles में पहले से लंबे समय तक buffer करने की सुविधा का आविष्कार होना चाहिए। उदाहरण के लिए, जब 1 मिनट का गाना चलाया जाए, तो पूरा गाना buffer हो जाना चाहिए। यदि 'pause' क्लिक किया जाए या volume बदला जाए, तो buffer फेंक दिया जाना चाहिए। लेकिन लंबा buffer फ़ोन को power saving और अस्थिर radio connectivity को सहने में मदद कर सकता है.

  • LineageOS में उच्च गुणवत्ता audio transmission फ़ीचर के उपयोग का अनुभव और user experience सुधार की ज़रूरत का उल्लेख

    मैंने LineageOS में इस फ़ीचर का उपयोग किया है और मैं इससे बहुत संतुष्ट हूँ। ऐसे devices, जैसे कि car stereo, जो 3P codecs को support नहीं करते, उन्हें उच्च गुणवत्ता audio भेजने की क्षमता बहुत उपयोगी है। headphones में भी इससे बड़ा लाभ मिलता है। user experience में कुछ सुधार की ज़रूरत है, लेकिन फ़ीचर स्वयं बेहतरीन है.

  • शीर्षक में वर्ष (2019) जोड़ने की आवश्यकता और PulseAudio तथा PipeWire में इसके पहले से लागू होने का उल्लेख

    शीर्षक में (2019) जोड़ना अच्छा रहेगा। "सभी मौजूदा Bluetooth stacks" का उल्लेख है, लेकिन ऐसे फ़ीचर्स पहले से ही PulseAudio और PipeWire में implement किए जा चुके हैं.

  • Dual Channel और Joint Stereo के bitrate अंतर का वास्तविक audio गुणवत्ता पर असर को लेकर संदेहपूर्ण राय

    मुझे इस बात पर संदेह है कि 551 kbps का Dual Channel, 328 kbps के Joint Stereo की तुलना में वास्तव में ध्यान देने योग्य बेहतर गुणवत्ता देता है। ज़्यादातर संगीत में मुझे संदेह है कि यह सिर्फ़ duplicate जानकारी encode करने में अधिक bits खर्च करने जैसा न हो.

  • MacOS में HFP गुणवत्ता सुधारने के तरीकों पर सवाल और Linux में mSBC उपयोग के अनुभव साझा

    पूछा गया है कि क्या किसी को MacOS में Bluetooth का उपयोग करते हुए HFP की गुणवत्ता सुधारने का कोई तरीका पता है। Linux में mSBC के साथ काफ़ी अच्छी गुणवत्ता का अनुभव हुआ, लेकिन MacOS में यह पूरी तरह खराब है और phone-line/mono quality पर चला जाता है। जिज्ञासा है कि क्या Darwin पर इसे ठीक से काम कराने के लिए कोई hack पहले से मौजूद है.

  • SBC उपयोग का पता न होने के अनुभव और उस पोस्ट के लिए आभार व्यक्त

    Lineage 18-1 इस्तेमाल करते हुए मुझे पता ही नहीं था कि मैं SBC फ़ीचर इस्तेमाल कर रहा था। इस पोस्ट के ज़रिए मुझे पता चला कि मैं SBC फ़ीचर का उपयोग कर रहा था। "magic -"