- ओपन सोर्स ऐप जो AirPods की उन्नत सुविधाओं को, जो केवल Apple डिवाइसों तक सीमित हैं, Android/Linux जैसे non-Apple डिवाइसों पर भी इस्तेमाल करने देता है
- noise control, adaptive transparency mode, automatic ear detection, battery status display, head gestures, conversation awareness जैसी प्रमुख सुविधाओं का समर्थन
- AirPods Pro 2nd gen और 3rd gen में अधिकांश सुविधाएं पूरी तरह काम करती हैं, जबकि अन्य मॉडल केवल बेसिक सुविधाओं का समर्थन करते हैं
- Android पर rooting और Xposed module की आवश्यकता होती है, और Bluetooth DID hooking के जरिए डिवाइस को Apple डिवाइस की तरह पहचानकर अतिरिक्त सुविधाएं सक्रिय की जा सकती हैं
- Apple ecosystem में बंधे बिना AirPods की premium सुविधाओं का स्वतंत्र रूप से उपयोग करने का टूल
LibrePods का परिचय
- LibrePods एक ऐसा प्रोजेक्ट है जो Apple-विशेष AirPods सुविधाओं को non-Apple डिवाइसों पर अनलॉक करके इस्तेमाल करने देता है
- समर्थित सुविधाएं: noise control mode, adaptive transparency mode, ear detection, hearing aid mode, battery status display आदि
- यूज़र द्वारा भुगतान की गई premium सुविधाओं को Apple ecosystem के बाहर भी इस्तेमाल योग्य बनाता है
डिवाइस संगतता
- AirPods Pro (2nd gen) : पूर्ण समर्थन और परीक्षण पूरा
- AirPods Pro (3rd gen) : heart rate measurement को छोड़कर पूर्ण समर्थन
- अन्य AirPods मॉडल: battery status, ear detection जैसी बेसिक सुविधाएं ही काम कर सकती हैं
- अधिकांश सुविधाएं सभी AirPods पर काम कर सकती हैं, लेकिन डेवलपर ने केवल AirPods Pro 2nd gen पर परीक्षण किया है
मुख्य सुविधाएं
- noise control mode: AirPods को सीधे ऑपरेट किए बिना भी mode switch किया जा सकता है
- ear detection: पहनने/उतारने पर म्यूज़िक playback का ऑटो कंट्रोल और speaker switch
- battery status display: battery level का सटीक पता
- head gestures: सिर हिलाकर कॉल रिसीव करना
- conversation awareness: यूज़र के बोलने पर volume अपने-आप कम होना
- hearing aid features, transparency mode customization, simultaneous connection to 2 devices जैसी उन्नत सुविधाओं का समर्थन
- तारांकन (*) से चिह्नित सुविधाओं के लिए Bluetooth DID hooking सक्रिय होना जरूरी है
प्लेटफ़ॉर्म समर्थन
-
Linux
- पुराने वर्ज़न में सुविधाएं सीमित हैं, और maintainer के पास काम करने के लिए पर्याप्त समय नहीं है
- नया वर्ज़न विकासाधीन है और संबंधित PR(#241) मौजूद है
-
Android
- विभिन्न settings screens, notifications, widgets, accessibility options के screenshots उपलब्ध हैं
- rooting और Xposed अनिवार्य हैं, क्योंकि यह Android Bluetooth stack के bug की वजह से है
- Google Issue Tracker का लिंक दिया गया है, और fix होने तक कोई अपवाद नहीं है
- पहले overlayfs-आधारित non-root तरीका भी था, लेकिन डिवाइस-विशेष अंतर के कारण उसे बंद कर दिया गया
- Xposed इस्तेमाल करने पर DID hooking के जरिए अतिरिक्त सुविधाएं सक्रिय की जा सकती हैं
Bluetooth DID (Device Identification) hooking
- manufacturer ID को Apple में बदलने पर कई विशेष सुविधाओं तक पहुंच संभव होती है
- 2 devices simultaneous connection का समर्थन: audio और control दोनों संभव, और डिवाइसों के बीच स्विच करते समय notification दिखता है
- accessibility और hearing aid settings: transparency mode का विस्तृत समायोजन, conversation boost, ambient noise reduction आदि सेट किए जा सकते हैं
- hearing test सुविधा शामिल नहीं है; इसके बजाय मौजूदा audiogram result इम्पोर्ट करके इस्तेमाल किया जाता है
- सुविधा सक्रिय करने के लिए ऐप settings में ‘act as Apple Device’ विकल्प चालू करना होगा
अतिरिक्त सावधानियां
- नवीनतम AirPods firmware में ‘Off listening mode’ सक्रिय होना चाहिए, तभी पूरा off mode switch संभव है
- सभी AirPods निकालने पर अपने-आप speaker पर switch हो जाता है, लेकिन Android दोबारा reconnect करने की कोशिश कर सकता है
- ऐप इसे पहचानकर A2DP profile को अपने-आप disable कर देता है
- AirPods का नाम बदलने पर re-pairing आवश्यक है; यह Android Bluetooth naming method की सीमा के कारण है
- Android settings app में AirPods icon और battery status दिखाने के लिए इसे system app के रूप में install करना होगा
लाइसेंस
- LibrePods GNU General Public License v3 के तहत वितरित किया जाने वाला free software है
- कोई commercial warranty नहीं है, और सभी trademarks व logos उनके-अपने मालिकों की संपत्ति हैं
- AirPods images, symbols, SF Pro font Apple Inc. की संपत्ति हैं
1 टिप्पणियां
Hacker News की राय
Bluetooth DID(Device Identification) Hook को देखते हुए पता चला कि अगर manufacturer ID को Apple में बदल दिया जाए, तो कई विशेष फीचर्स तक पहुंच मिल सकती है
मुझे लगता है कि Apple का इस तरह बिना नियमन के proprietary फीचर्स बनाए रखना regulators की कार्रवाई के दायरे में आना चाहिए. वास्तव में AirPods दूसरे devices से भी अच्छी तरह connect हो जाते हैं, लेकिन advanced features की उपलब्धता सीमित रहती है
Apple ecosystem के बाहर AirPods इस्तेमाल करना हो तो यह एक काफ़ी शानदार project है
लेकिन Android Bluetooth implementation में bug होने की वजह से rooted Android device और एक छोटे patch की ज़रूरत पड़ती है
संबंधित issue: Google Issue Tracker
इस बात से बहुत गुस्सा आता है कि Apple ने AirPods Pro 3 को iOS 18 के साथ incompatible बना दिया
वही H2 chip, वही iOS device, लेकिन फीचर्स बनाए रखने के लिए iOS 26 में ज़बरदस्ती upgrade करना पड़ा. Apple support को भी वजह नहीं पता थी, वे बस बार-बार कहते रहे, “बस काम करेगा”
Mark Zuckerberg ने एक interview में AirPods की closed pairing structure को unfair बताया था. उम्मीद है कि Meta अपने products के integration के लिए पैसा खर्च करके भी इसका समाधान निकाले
ऐसे projects शानदार हैं, लेकिन इनका होना ही अपने आप में समस्या है. Apple open source software का उपयोग करता है, फिर भी अपनी closed policies की वजह से और ज़्यादा OSS workaround projects को मजबूर करता है
मुझे लगता है tunable transparency वाकई बहुत अच्छा विचार है
Trombone बजाते समय AirPods Pro लगभग एकदम सही hearing protection device जैसा लगता है. लेकिन जब आसपास की आवाज़ तेज़ हो जाती है तो अपने वाद्य की आवाज़ दब जाती है, जो अफ़सोस की बात है. अच्छा होता अगर मैं सिर्फ अपने instrument की आवाज़ ज़्यादा सुन पाता, या noise cancelling और transparency mode का मिश्रण संभव होता
मुझे याद है कि Beats earphones AirPods के उसी chipset और drivers का इस्तेमाल करते थे, लेकिन Android के साथ उनकी compatibility कहीं बेहतर थी. अब भी ऐसा है या नहीं, पता नहीं
मैंने Pine64 Pine Buds को flash करके देखा, लेकिन default settings के अलावा sound को ठीक से tune नहीं कर पाया. फिर भी UI काफ़ी अच्छा था
ऐसे projects देखकर फिर महसूस होता है कि open OS के फ़ायदे कितने बड़े हैं
मैं अपने पिता के लिए AirPods को hearing aid की तरह इस्तेमाल कराना चाहता था, लेकिन iPhone चलाना उनके लिए मुश्किल था इसलिए कोशिश नहीं कर पाया. सोच रहा हूँ कि क्या इस project से इसे किसी आसान interface के साथ लागू किया जा सकता है