- แอปโอเพนซอร์สที่ทำให้สามารถใช้ฟีเจอร์ขั้นสูงของ AirPods ซึ่งถูกจำกัดไว้สำหรับอุปกรณ์ Apple บนอุปกรณ์ที่ไม่ใช่ Apple เช่น Android/Linux ได้
- รองรับฟีเจอร์หลักอย่าง การควบคุมเสียงรบกวน, โหมดโปร่งใสแบบปรับตัว, การตรวจจับการสวมใส่อัตโนมัติ, การแสดงสถานะแบตเตอรี่, ท่าทางศีรษะ, การรับรู้บทสนทนา
- ฟีเจอร์ส่วนใหญ่ทำงานได้ครบถ้วนบน AirPods Pro รุ่นที่ 2 และรุ่นที่ 3 ส่วนรุ่นอื่นรองรับเฉพาะฟีเจอร์พื้นฐาน
- บน Android ต้องใช้การรูทและโมดูล Xposed และสามารถเปิดใช้ฟีเจอร์เพิ่มเติมได้ผ่าน Bluetooth DID hooking เพื่อให้อุปกรณ์ถูกมองว่าเป็นอุปกรณ์ Apple
- เป็น เครื่องมือที่ช่วยให้ใช้ฟีเจอร์พรีเมียมของ AirPods ได้อย่างอิสระ โดยไม่ต้องผูกติดกับระบบนิเวศของ Apple
ภาพรวมของ LibrePods
- LibrePods เป็นโปรเจ็กต์ที่ ปลดล็อกฟีเจอร์ AirPods ที่ Apple ผูกขาดไว้ให้ใช้บนอุปกรณ์ที่ไม่ใช่ Apple ได้
- ฟีเจอร์ที่รองรับ: โหมดควบคุมเสียงรบกวน, โหมดโปร่งใสแบบปรับตัว, การตรวจจับหู, โหมดช่วยฟัง, การแสดงสถานะแบตเตอรี่ เป็นต้น
- ทำให้ผู้ใช้สามารถนำฟีเจอร์พรีเมียมที่จ่ายเงินไปแล้ว ไปใช้งานนอกระบบนิเวศของ Apple ได้
ความเข้ากันได้ของอุปกรณ์
- AirPods Pro (รุ่นที่ 2) : รองรับเต็มรูปแบบและทดสอบแล้ว
- AirPods Pro (รุ่นที่ 3) : รองรับเต็มรูปแบบ ยกเว้นการวัดอัตราการเต้นของหัวใจ
- AirPods รุ่นอื่น ๆ: ใช้งานได้เฉพาะฟีเจอร์พื้นฐาน เช่น สถานะแบตเตอรี่และการตรวจจับหู
- ฟีเจอร์ส่วนใหญ่สามารถทำงานได้กับ AirPods ทุกรุ่น แต่ผู้พัฒนาทดสอบเฉพาะ AirPods Pro รุ่นที่ 2 เท่านั้น
ฟีเจอร์หลัก
- โหมดควบคุมเสียงรบกวน: สลับโหมดได้โดยไม่ต้องควบคุม AirPods โดยตรง
- การตรวจจับหู: ควบคุมการเล่นเพลงอัตโนมัติและสลับไปลำโพงเมื่อใส่หรือถอดออก
- การแสดงสถานะแบตเตอรี่: ตรวจสอบระดับแบตเตอรี่ที่แม่นยำ
- ท่าทางศีรษะ: รับสายโทรศัพท์ด้วยการพยักหน้า
- การรับรู้บทสนทนา: ลดระดับเสียงอัตโนมัติเมื่อผู้ใช้เริ่มพูด
- รองรับฟีเจอร์ขั้นสูงอย่าง โหมดช่วยฟัง, การตั้งค่าโหมดโปร่งใสแบบกำหนดเอง, การเชื่อมต่อพร้อมกัน 2 อุปกรณ์ เป็นต้น
- ฟีเจอร์ที่มีเครื่องหมายดอกจัน (*) ต้องเปิดใช้ Bluetooth DID hooking
การรองรับแพลตฟอร์ม
-
Linux
- เวอร์ชันก่อนหน้านี้มีฟีเจอร์จำกัด และผู้ดูแลไม่มีเวลามากพอสำหรับการบำรุงรักษา
- กำลังพัฒนาเวอร์ชันใหม่อยู่ และมี PR ที่เกี่ยวข้อง (#241)
-
Android
- มีภาพหน้าจอของ หน้าตั้งค่าต่าง ๆ, การแจ้งเตือน, วิดเจ็ต, ตัวเลือกการช่วยการเข้าถึง ให้ดู
- ต้องรูทและใช้ Xposed เนื่องจากเป็นปัญหาบั๊กในสแตก Bluetooth ของ Android
- มีลิงก์ไปยัง Google Issue Tracker และยังไม่มีข้อยกเว้นจนกว่าจะมีการแก้ไข
- ในอดีตเคยมีวิธีแบบไม่ต้องรูทที่ใช้ overlayfs แต่ยุติไปแล้วเพราะความแตกต่างของแต่ละอุปกรณ์
- เมื่อใช้ Xposed สามารถเปิดใช้ฟีเจอร์เพิ่มเติมได้ผ่าน DID hooking
Bluetooth DID (Device Identification) hooking
- หากเปลี่ยน manufacturer ID เป็น Apple จะสามารถเข้าถึงฟีเจอร์พิเศษหลายอย่างได้
- รองรับ การเชื่อมต่อพร้อมกัน 2 อุปกรณ์: ใช้ได้ทั้งเสียงและการควบคุม พร้อมแสดงการแจ้งเตือนเมื่อสลับระหว่างอุปกรณ์
- การช่วยการเข้าถึงและการตั้งค่าช่วยฟัง: ปรับรายละเอียดโหมดโปร่งใส, ขยายเสียงบทสนทนา, ลดเสียงรบกวนรอบข้าง เป็นต้น
- ไม่รวมฟีเจอร์ทดสอบการได้ยิน แต่สามารถนำเข้าผล audiogram ที่มีอยู่แล้วมาใช้ได้
- เพื่อเปิดใช้ฟีเจอร์นี้ ต้องเปิดตัวเลือก
act as Apple Device ในการตั้งค่าของแอป
ข้อควรระวังเพิ่มเติม
- ในเฟิร์มแวร์ AirPods เวอร์ชันล่าสุด ต้องเปิดใช้งาน
Off listening mode จึงจะสลับเป็นโหมดปิดแบบสมบูรณ์ได้
- เมื่อถอด AirPods ออกทั้งหมด ระบบจะสลับไปยังลำโพงโดยอัตโนมัติ แต่ Android อาจพยายามเชื่อมต่อใหม่
- แอปจะตรวจจับเหตุการณ์นี้และปิด A2DP profile โดยอัตโนมัติ
- หากเปลี่ยนชื่อ AirPods จำเป็นต้องจับคู่ใหม่, ซึ่งเป็นข้อจำกัดของวิธีตั้งชื่อ Bluetooth บน Android
- หากต้องการให้แอปการตั้งค่า Android แสดงไอคอน AirPods และสถานะแบตเตอรี่ ต้องติดตั้งเป็นแอประบบ
ไลเซนส์
- LibrePods เป็นซอฟต์แวร์เสรีที่เผยแพร่ภายใต้ GNU General Public License v3
- ไม่มีการรับประกันเชิงพาณิชย์ และเครื่องหมายการค้าและโลโก้ทั้งหมดเป็นทรัพย์สินของเจ้าของแต่ละราย
- รูปภาพ AirPods, สัญลักษณ์, และฟอนต์ SF Pro เป็น ทรัพย์สินของ Apple Inc.
1 ความคิดเห็น
ความเห็นจาก Hacker News
ระหว่างดู DID(Device Identification) Hook ของ Bluetooth ก็พบว่า ถ้าเปลี่ยน manufacturer ID เป็น Apple ก็จะเข้าถึง ฟีเจอร์พิเศษ ได้หลายอย่าง
คิดว่าการที่ Apple รักษาฟังก์ชันแบบผูกขาดเอาไว้ด้วยวิธีนี้ในสภาพที่แทบไม่มีการกำกับดูแล ควรถูกหน่วยงานกำกับดูแลลงโทษ จริง ๆ แล้ว AirPods ก็เชื่อมต่อกับอุปกรณ์อื่นได้ดี แต่มีการจำกัด การเข้าถึงฟีเจอร์ขั้นสูง เอาไว้
เป็น โปรเจกต์ที่เจ๋ง สำหรับคนที่อยากใช้ AirPods นอกระบบนิเวศของ Apple
แต่เพราะบั๊กใน implementation ของ Bluetooth บน Android จึงต้องใช้ อุปกรณ์ Android ที่รูตแล้ว กับแพตช์เล็กน้อย
ประเด็นที่เกี่ยวข้อง: Google Issue Tracker
โกรธมากที่ Apple ทำให้ AirPods Pro 3 ไม่เข้ากัน กับ iOS 18
เป็นชิป H2 เหมือนกัน ใช้อุปกรณ์ iOS เหมือนกัน แต่ถ้าจะให้ฟีเจอร์ยังใช้ได้ก็ต้องถูกบังคับให้อัปเกรดเป็น iOS 26 ฝ่ายซัพพอร์ตของ Apple เองก็ไม่รู้เหตุผล เอาแต่พูดว่า “เดี๋ยวมันก็น่าจะใช้ได้เอง”
Mark Zuckerberg พูดในการสัมภาษณ์ว่าระบบ การจับคู่แบบปิด ของ AirPods นั้นไม่เป็นธรรม หวังว่า Meta จะยอมทุ่มเงินเพื่อแก้ปัญหานี้ให้ทำงานร่วมกับผลิตภัณฑ์ของตัวเองได้
โปรเจกต์แบบนี้เจ๋งก็จริง แต่ การที่มันต้องมีอยู่ตั้งแต่แรกนี่แหละคือปัญหา Apple ใช้ซอฟต์แวร์โอเพนซอร์ส แต่ในขณะเดียวกันก็บังคับให้เกิดโปรเจกต์ workaround แบบ OSS เพิ่มขึ้นเพราะนโยบายปิดของตัวเอง
คิดว่า โหมดโปร่งใสที่ปรับแต่งได้(tunable transparency) เป็นไอเดียที่ดีมากจริง ๆ
ตอนเล่นทรอมโบน AirPods Pro ให้ความรู้สึกเหมือน อุปกรณ์ปกป้องการได้ยิน ที่เกือบสมบูรณ์แบบ แต่พอเสียงรอบข้างดังขึ้น เสียงที่ฉันเล่นกลับหายไป เลยอยากให้มีทางเลือกที่ทำให้ได้ยินเฉพาะเสียงเครื่องดนตรีของตัวเองมากขึ้น หรือทำ การผสมระหว่าง noise cancelling กับ transparency mode ได้
จำได้ว่าหูฟัง Beats ใช้ ชิปเซ็ตและไดรเวอร์ชุดเดียวกัน กับ AirPods แต่รองรับ Android ได้ดีกว่ามาก ไม่แน่ใจว่าตอนนี้ยังเป็นแบบนั้นไหม
เคยแฟลช Pine64 Pine Buds แล้ว แต่ปรับเสียงให้เข้าที่ไม่ได้เลยนอกจากค่าตั้งต้น ถึงอย่างนั้น UI ก็ถือว่าเท่มาก
พอเห็นโปรเจกต์แบบนี้ ก็ยิ่งรู้สึกชัดว่า ข้อดีของ OS แบบเปิด มีมากแค่ไหน
เคยอยากให้พ่อใช้ AirPods เหมือนเครื่องช่วยฟัง แต่เพราะใช้งาน iPhone ยากเลยไม่ได้ลอง สงสัยว่าโปรเจกต์นี้จะเอาไปทำเป็นอินเทอร์เฟซที่ง่ายกว่านี้ได้ไหม