- Ứng dụng mã nguồn mở cho phép sử dụng các tính năng cao cấp của AirPods, vốn bị giới hạn cho thiết bị Apple, trên cả các thiết bị không phải của Apple như Android/Linux
- Hỗ trợ các tính năng chính như điều khiển chống ồn, chế độ xuyên âm thích ứng, tự động phát hiện đeo tai, hiển thị trạng thái pin, cử chỉ đầu, nhận diện cuộc trò chuyện
- AirPods Pro thế hệ 2 và thế hệ 3 có hầu hết tính năng hoạt động đầy đủ, các mẫu khác chỉ hỗ trợ tính năng cơ bản
- Trên Android cần root và mô-đun Xposed, đồng thời có thể kích hoạt thêm tính năng bằng cách hook Bluetooth DID để thiết bị được nhận diện như thiết bị Apple
- Công cụ giúp tận dụng tự do các tính năng cao cấp của AirPods mà không bị trói buộc vào hệ sinh thái Apple
Tổng quan về LibrePods
- LibrePods là dự án cho phép mở khóa các tính năng AirPods độc quyền của Apple trên thiết bị không phải Apple
- Tính năng được hỗ trợ: chế độ điều khiển chống ồn, chế độ xuyên âm thích ứng, phát hiện đeo tai, chế độ trợ thính, hiển thị trạng thái pin v.v.
- Cho phép người dùng tận dụng các tính năng cao cấp mà họ đã trả tiền mua, ngay cả bên ngoài hệ sinh thái Apple
Tương thích thiết bị
- AirPods Pro (thế hệ 2): hỗ trợ đầy đủ và đã được kiểm thử
- AirPods Pro (thế hệ 3): hỗ trợ đầy đủ ngoại trừ đo nhịp tim
- Các mẫu AirPods khác: chỉ hoạt động với tính năng cơ bản như trạng thái pin, phát hiện đeo tai
- Hầu hết tính năng có thể hoạt động trên mọi AirPods, nhưng nhà phát triển chỉ thử nghiệm trên AirPods Pro thế hệ 2
Tính năng chính
- Chế độ điều khiển chống ồn: có thể chuyển chế độ mà không cần thao tác trực tiếp trên AirPods
- Phát hiện đeo tai: tự động điều khiển phát nhạc và chuyển loa khi đeo/tháo
- Hiển thị trạng thái pin: kiểm tra chính xác dung lượng pin còn lại
- Cử chỉ đầu: nhận cuộc gọi bằng cách gật đầu
- Nhận diện cuộc trò chuyện: tự động giảm âm lượng khi người dùng nói
- Hỗ trợ các tính năng nâng cao như trợ thính, tùy chỉnh chế độ xuyên âm, kết nối đồng thời 2 thiết bị
- Các tính năng được đánh dấu dấu sao (*) yêu cầu bật hook Bluetooth DID
Hỗ trợ nền tảng
-
Linux
- Phiên bản trước bị giới hạn tính năng và người bảo trì không có đủ thời gian để làm việc tiếp
- Phiên bản mới đang được phát triển và có PR liên quan (#241)
-
Android
- Cung cấp ảnh chụp màn hình của nhiều màn hình cài đặt, thông báo, tiện ích và tùy chọn trợ năng
- Bắt buộc phải root và dùng Xposed, do lỗi trong Bluetooth stack của Android
- Có cung cấp liên kết Google Issue Tracker, và không có ngoại lệ nào cho tới khi lỗi được sửa
- Trước đây từng có cách không cần root dựa trên overlayfs, nhưng đã bị dừng vì khác biệt giữa các thiết bị
- Khi dùng Xposed có thể kích hoạt thêm tính năng thông qua hook DID
Hook Bluetooth DID (Device Identification)
- Nếu đổi ID nhà sản xuất thành Apple thì có thể truy cập nhiều tính năng đặc biệt
- Hỗ trợ kết nối đồng thời 2 thiết bị: cả âm thanh lẫn điều khiển đều hoạt động, và sẽ hiện thông báo khi chuyển giữa các thiết bị
- Cài đặt trợ năng và trợ thính: có thể tinh chỉnh chi tiết chế độ xuyên âm, tăng cường hội thoại, giảm tiếng ồn xung quanh v.v.
- Không bao gồm tính năng kiểm tra thính lực, mà sử dụng bằng cách tải kết quả audiogram hiện có
- Để bật tính năng, cần bật tùy chọn
act as Apple Device trong cài đặt ứng dụng
Lưu ý thêm
- Trên firmware AirPods mới nhất, cần bật
Off listening mode thì mới có thể chuyển hoàn toàn sang chế độ tắt
- Khi tháo cả hai tai AirPods, thiết bị sẽ tự động chuyển sang loa, nhưng Android có thể cố gắng kết nối lại
- Ứng dụng sẽ phát hiện việc này và tự động vô hiệu hóa profile A2DP
- Khi đổi tên AirPods thì cần ghép đôi lại, do giới hạn trong cách Android đặt tên Bluetooth
- Để hiển thị biểu tượng AirPods và trạng thái pin trong ứng dụng Cài đặt của Android, cần cài đặt dưới dạng ứng dụng hệ thống
Giấy phép
- LibrePods là phần mềm tự do được phát hành theo GNU General Public License v3
- Không có bảo đảm thương mại, và mọi nhãn hiệu cùng logo đều là tài sản của chủ sở hữu tương ứng
- Hình ảnh AirPods, biểu tượng và phông chữ SF Pro là tài sản của Apple Inc.
1 bình luận
Ý kiến trên Hacker News
Khi xem xét DID(Device Identification) Hook của Bluetooth, có người nhận ra rằng nếu đổi ID nhà sản xuất thành Apple thì có thể truy cập nhiều tính năng đặc biệt
Họ cho rằng việc Apple duy trì các tính năng độc quyền theo cách này trong trạng thái không bị quản lý nên bị cơ quan quản lý chế tài. Thực tế, AirPods vẫn kết nối tốt với thiết bị khác, nhưng việc lộ ra các tính năng nâng cao bị hạn chế
Đây là một dự án rất hay cho những ai muốn dùng AirPods ngoài hệ sinh thái Apple
Tuy vậy, do lỗi trong triển khai Bluetooth của Android nên cần thiết bị Android đã root và một bản vá nhỏ
Vấn đề liên quan: Google Issue Tracker
Tôi cực kỳ bực khi Apple làm cho AirPods Pro 3 không tương thích với iOS 18
Cùng chip H2, cùng thiết bị iOS, vậy mà để giữ tính năng thì lại bị ép nâng cấp lên iOS 26. Nhân viên hỗ trợ Apple cũng không biết lý do, chỉ lặp đi lặp lại rằng “cứ hoạt động tốt thôi”
Trong một cuộc phỏng vấn, Mark Zuckerberg đã nhắc đến cấu trúc ghép đôi đóng của AirPods là không công bằng. Mong Meta sẵn sàng chi tiền để giải quyết chuyện này cho việc tích hợp với sản phẩm của họ
Những dự án như thế này rất tuyệt, nhưng bản thân việc chúng phải tồn tại đã là một vấn đề. Apple tận dụng phần mềm nguồn mở, nhưng chính sách đóng của họ lại buộc phải có thêm nhiều dự án vòng tránh OSS hơn
Tôi nghĩ chế độ xuyên âm có thể điều chỉnh(tunable transparency) là một ý tưởng thực sự hay
Khi chơi trombone, AirPods Pro gần như là một thiết bị bảo vệ thính giác hoàn hảo. Nhưng khi âm thanh xung quanh lớn lên thì tiếng nhạc cụ của tôi lại biến mất, điều đó khá tiếc. Giá mà có thể chỉ làm tiếng nhạc cụ của tôi to hơn, hoặc tạo được sự pha trộn giữa chống ồn và xuyên âm thì tốt
Tôi nhớ tai nghe Beats dùng cùng chipset và driver như AirPods, nhưng tương thích với Android tốt hơn nhiều. Không rõ bây giờ còn vậy không
Tôi từng flash Pine Buds của Pine64, nhưng ngoài thiết lập mặc định thì không thể chỉnh âm thanh cho đúng được. Dù vậy UI khá đẹp
Nhìn những dự án như thế này lại càng thấy lợi thế của hệ điều hành mở lớn đến mức nào
Tôi từng muốn dùng AirPods như máy trợ thính cho cha mình, nhưng vì việc thao tác iPhone quá khó nên không thử được. Tôi tò mò liệu có cách nào dùng dự án này để làm một giao diện đơn giản hơn không