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_bitratevariable को 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 टिप्पणियां
Hacker News टिप्पणियाँ
SBC के व्यापक समर्थन और इसकी स्वाभाविक विस्तार-क्षमता के प्रति सकारात्मक राय
Android Bluetooth stack के बग पर गहन विश्लेषण और हार्डवेयर की विविधता की ओर इशारा
Windows में 'Alternative A2DP Driver' के ज़रिए SBC parameters समायोजित करने और AAC, aptX, LDAC उपयोग के अनुभव साझा
Linux में SBC XQ और mSBC के ज़रिए उच्च bitrate audio और headset audio गुणवत्ता सुधार की संभावना का उल्लेख
Bluetooth audio profiles में पहले से लंबी buffering की अनुमति देने वाले फ़ीचर की आवश्यकता पर बात
LineageOS में उच्च गुणवत्ता audio transmission फ़ीचर के उपयोग का अनुभव और user experience सुधार की ज़रूरत का उल्लेख
शीर्षक में वर्ष (2019) जोड़ने की आवश्यकता और PulseAudio तथा PipeWire में इसके पहले से लागू होने का उल्लेख
Dual Channel और Joint Stereo के bitrate अंतर का वास्तविक audio गुणवत्ता पर असर को लेकर संदेहपूर्ण राय
MacOS में HFP गुणवत्ता सुधारने के तरीकों पर सवाल और Linux में mSBC उपयोग के अनुभव साझा
SBC उपयोग का पता न होने के अनुभव और उस पोस्ट के लिए आभार व्यक्त