- Appleデバイス専用に制限されたAirPodsの高度な機能を、Android/Linuxなどの非Appleデバイスでも使えるようにするオープンソースアプリ
- ノイズコントロール、アダプティブ外部音取り込み、自動耳検出、バッテリー状態表示、ヘッドジェスチャー、会話感知 など主要機能をサポート
- AirPods Pro 第2世代と第3世代ではほとんどの機能が完全動作し、他のモデルでは基本機能のみサポート
- Androidではroot化とXposedモジュールが必要で、Bluetooth DIDフックを通じてAppleデバイスとして認識させ、追加機能を有効化可能
- Appleエコシステムに縛られず、AirPodsのプレミアム機能を自由に活用できるツール
LibrePods 概要
- LibrePodsは、Apple独占のAirPods機能を非Appleデバイスで解放して使えるようにするプロジェクト
- 対応機能: ノイズコントロールモード、アダプティブ外部音取り込み、耳検出、補聴器モード、バッテリー状態表示 など
- ユーザーが支払ったプレミアム機能を、Appleエコシステムの外でも活用可能にする
デバイス互換性
- AirPods Pro(第2世代): 完全対応・テスト済み
- AirPods Pro(第3世代): 心拍数測定を除いて完全対応
- その他のAirPodsモデル: バッテリー状態、耳検出など基本機能のみ動作可能
- ほとんどの機能はすべてのAirPodsで動作可能だが、開発者はAirPods Pro 第2世代のみでテスト
主な機能
- ノイズコントロールモード: AirPodsを直接操作しなくてもモード切り替えが可能
- 耳検出: 装着・取り外し時に音楽再生を自動制御し、スピーカーへ切り替え
- バッテリー状態表示: 正確なバッテリー残量を確認可能
- ヘッドジェスチャー: うなずいて通話に応答
- 会話感知: ユーザーが話すと自動的に音量を下げる
- 補聴器機能、外部音取り込みモードのユーザー設定、2台のデバイスへの同時接続 など高度な機能をサポート
- アスタリスク(*)が付いた機能は、Bluetooth DIDフックの有効化が必要
プラットフォーム対応
-
Linux
- 以前のバージョンは機能が限定的で、メンテナーに作業時間が不足している
- 新バージョンを開発中で、関連PR(#241)が存在
-
Android
- さまざまな設定画面、通知、ウィジェット、アクセシビリティオプションのスクリーンショットを提供
- root化とXposedが必須で、これはAndroid Bluetoothスタックのバグによるもの
- Google Issue Trackerへのリンクあり、修正されるまでは例外なし
- 過去にはoverlayfsベースの非root方式もあったが、デバイスごとの差異により中止
- 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.の所有
1件のコメント
Hacker Newsのコメント
Bluetooth DID(Device Identification) Hook を調べていたところ、メーカー ID を Apple に変えるとさまざまな 特殊機能 にアクセスできることが分かった
Apple がこのように規制の及ばない形で独占的機能を維持しているのは、規制当局の制裁を受けるべきだと思う。実際、AirPods は他のデバイスにも問題なく接続できるが、高度な機能の公開 は制限されている
Apple エコシステムの外で AirPods を使いたいときに役立つ 素晴らしいプロジェクト だ
ただし Android の Bluetooth 実装のバグのため、root 化した Android デバイス と小さなパッチが必要になる
関連イシュー: Google Issue Tracker
Apple が AirPods Pro 3 を iOS 18 と 非互換 にしたのが本当に腹立たしい
同じ H2 チップ、同じ iOS デバイスなのに、機能を維持するには iOS 26 への強制アップグレードが必要だった。Apple サポートも理由が分からず、「そのままで大丈夫です」と繰り返すだけだった
Mark Zuckerberg がインタビューで AirPods の 閉鎖的なペアリング構造 は不公正だと言及していた。Meta 製品との連携のために、費用をかけてでも解決してほしい
こうしたプロジェクトは素晴らしいが、存在しなければならないという事実そのものが問題 だ。Apple はオープンソースソフトウェアを活用しつつ、自らの閉鎖政策によってさらに多くの OSS 回避プロジェクトを生み出している
調整可能な透明モード(tunable transparency) は本当に良いアイデアだと思う
トロンボーンを演奏するとき、AirPods Pro はほとんど完璧な 聴覚保護デバイス のように感じる。しかし周囲の音が大きくなると自分の演奏音がかき消されるのが惜しい。自分の楽器の音だけをもっと聞こえるようにしたり、ノイズキャンセリングと透明モードの混合 ができたらいいのにと思う
Beats のイヤホンは AirPods と 同じチップセットとドライバー を使っているが、Android との互換性ははるかに良かった記憶がある。今もそうかは分からない
Pine64 Pine Buds をフラッシュしてみたが、デフォルト設定以外では音をまともに合わせられなかった。それでも UI はかなり良かった
こういうプロジェクトを見ると、オープン OS の利点 がどれほど大きいかを改めて感じる
父のために AirPods を 補聴器のように 使ってみたかったが、iPhone の操作が難しくて試せなかった。このプロジェクトを使って、よりシンプルなインターフェースで実現する方法が気になる