- 애플 기기 전용으로 제한된 AirPods의 고급 기능을 안드로이드/리눅스등 비(非)애플 기기에서도 사용할 수 있게 하는 오픈소스 앱
- 노이즈 제어, 적응형 투명 모드, 자동 귀 감지, 배터리 상태 표시, 헤드 제스처, 대화 인식 등 주요 기능 지원
- AirPods Pro 2세대와 3세대에서 대부분 기능이 완전 작동하며, 다른 모델은 기본 기능만 지원
- Android에서는 루팅과 Xposed 모듈이 필요하며, Bluetooth DID 후킹을 통해 애플 기기로 인식시켜 추가 기능 활성화 가능
- 애플 생태계에 묶이지 않고 AirPods의 프리미엄 기능을 자유롭게 활용할 수 있는 도구
LibrePods 개요
- LibrePods는 애플 독점 AirPods 기능을 비애플 기기에서 해제해 사용할 수 있게 하는 프로젝트
- 지원 기능 : 노이즈 제어 모드, 적응형 투명 모드, 귀 감지, 보청기 모드, 배터리 상태 표시 등
- 사용자가 지불한 프리미엄 기능을 애플 생태계 외부에서도 활용 가능하게 함
기기 호환성
- AirPods Pro (2세대) : 완전 지원 및 테스트 완료
- AirPods Pro (3세대) : 심박수 측정을 제외하고 완전 지원
- 기타 AirPods 모델: 배터리 상태, 귀 감지 등 기본 기능만 작동 가능
- 대부분 기능은 모든 AirPods에서 작동 가능하나, 개발자는 AirPods Pro 2세대만 테스트함
주요 기능
- 노이즈 제어 모드: AirPods을 직접 조작하지 않고도 모드 전환 가능
- 귀 감지: 착용·탈착 시 음악 재생 자동 제어 및 스피커 전환
- 배터리 상태 표시: 정확한 배터리 잔량 확인
- 헤드 제스처: 고개 끄덕임으로 전화 수신
- 대화 인식: 사용자가 말할 때 자동으로 볼륨 감소
-
보청기 기능, 투명 모드 사용자 설정, 2대 기기 동시 연결 등 고급 기능 지원
- 별표(*) 표시된 기능은 Bluetooth DID 후킹 활성화 필요
플랫폼 지원
-
Linux
- 이전 버전은 기능이 제한적이며, 유지보수자가 작업할 시간이 부족함
- 새로운 버전이 개발 중이며 관련 PR(#241)이 존재
-
Android
- 다양한 설정 화면, 알림, 위젯, 접근성 옵션 스크린샷 제공
-
루팅 및 Xposed 필수, 이는 Android Bluetooth 스택의 버그 때문
- Google Issue Tracker 링크 제공, 수정 전까지 예외 없음
- 과거에는 overlayfs 기반 비루팅 방식도 있었으나, 기기별 차이로 인해 중단됨
- Xposed 사용 시 DID 후킹을 통해 추가 기능 활성화 가능
Bluetooth DID (Device Identification) 후킹
- 제조사 ID를 Apple로 변경하면 여러 특수 기능 접근 가능
- 2대 기기 동시 연결 지원: 오디오 및 제어 모두 가능하며, 기기 간 전환 시 알림 표시
-
접근성 및 보청기 설정: 투명 모드 세부 조정, 대화 증폭, 주변 소음 감소 등 설정 가능
- 청력 테스트 기능은 포함되지 않으며, 기존 오디오그램 결과를 불러와 사용
- 기능 활성화를 위해 앱 설정에서 ‘act as Apple Device’ 옵션을 켜야 함
추가 주의사항
- 최신 AirPods 펌웨어에서는 ‘Off listening mode’ 를 활성화해야 완전한 오프 모드 전환 가능
- AirPods을 모두 빼면 자동으로 스피커로 전환되지만, Android가 재연결을 시도할 수 있음
- 앱은 이를 감지해 A2DP 프로필을 자동으로 해제
- AirPods 이름 변경 시 재페어링 필요, 이는 Android Bluetooth 명명 방식의 한계
- Android 설정 앱에 AirPods 아이콘과 배터리 상태를 표시하려면 시스템 앱으로 설치해야 함
라이선스
- LibrePods는 GNU General Public License v3 하에 배포되는 자유 소프트웨어
- 상업적 보증은 없으며, 모든 상표 및 로고는 각 소유자의 자산임
- AirPods 이미지, 심볼, SF Pro 폰트는 Apple Inc.의 소유임