2 ポイント 投稿者 GN⁺ 2025-11-17 | 1件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2025-11-17
Hacker Newsのコメント
  • Bluetooth DID(Device Identification) Hook を調べていたところ、メーカー ID を Apple に変えるとさまざまな 特殊機能 にアクセスできることが分かった
    Apple がこのように規制の及ばない形で独占的機能を維持しているのは、規制当局の制裁を受けるべきだと思う。実際、AirPods は他のデバイスにも問題なく接続できるが、高度な機能の公開 は制限されている

    • AirPods はどのデバイスにも接続可能で、他の Bluetooth ヘッドホンと同程度の性能を出す。ただし一部の 専用ドライバー を必要とする機能は Apple デバイスでしか動作しない
    • 自分も AirPods と AirPods Pro の複数バージョンを使ってきたが、非 Apple デバイスへの接続 は問題なくできていた
    • 実際 Apple はすでに DMA 関連の裁判 を受けている。関連記事: FSFEニュース
    • Bluetooth の標準化団体が Apple を制裁し、相互運用性(interoperability) を損なう行為を防ぐべきだと思う
    • これは 違法な抱き合わせ販売(product tying) と見なし、FTC や EU 競争委員会に通報すべきだと考える
  • Apple エコシステムの外で AirPods を使いたいときに役立つ 素晴らしいプロジェクト
    ただし Android の Bluetooth 実装のバグのため、root 化した Android デバイス と小さなパッチが必要になる
    関連イシュー: Google Issue Tracker

    • これは Android のバグというより、AirPods が Bluetooth 仕様に違反 し、標準リクエストの前に特殊なハンドシェイクを要求しているためだと思う。Android がこのような非標準デバイスのために回避コードを入れるのは不合理だ
    • オーディオ再生開始からヘッドセットで音が出るまでの 遅延(latency) がどのくらいなのか気になる。AnkiDroid で勉強するときは短い音声クリップが多く、Bluetooth イヤホンの遅延が問題だった。アプリ側で短い無音オーディオを先に再生する形で解決できるかもしれない
    • 一人の人間が Apple の 閉鎖的エコシステム と Android の 不安定さ(jank) を同時に突破してこれを実装したのは驚きだ
    • 最後の 2 つのコメントが笑える — 「修正が必要」 / 「もともとエンジニアが解雇されたからだ」
    • 大企業のバグレポートの典型例のようだ。ユーザーは問題を深く分析しているのに、会社は 優先度低 として処理し放置する
  • Apple が AirPods Pro 3 を iOS 18 と 非互換 にしたのが本当に腹立たしい
    同じ H2 チップ、同じ iOS デバイスなのに、機能を維持するには iOS 26 への強制アップグレードが必要だった。Apple サポートも理由が分からず、「そのままで大丈夫です」と繰り返すだけだった

  • Mark Zuckerberg がインタビューで AirPods の 閉鎖的なペアリング構造 は不公正だと言及していた。Meta 製品との連携のために、費用をかけてでも解決してほしい

    • しかし問題の本質は AirPods の閉鎖性そのものではなく、Apple が 他社のアクセスを遮断(lock-out) している点にある。Apple Watch も同様で、他社が iPhone と同等に連携できるスマートウォッチを作れないようにしている
    • Apple の閉鎖的エコシステムを 他社が開放しなければならない義務 はないと思う
  • こうしたプロジェクトは素晴らしいが、存在しなければならないという事実そのものが問題 だ。Apple はオープンソースソフトウェアを活用しつつ、自らの閉鎖政策によってさらに多くの OSS 回避プロジェクトを生み出している

    • Pixel Buds を iPhone で使う場合も同じだ。Apple や Google のせいというより、ベンダーロックイン(vendor lock-in) を当然視する社会構造の問題だと思う。両社が Bluetooth 拡張を協力して進めていれば、みんなに利益があったはずだ。しかし短期利益中心の構造では、このような変化は 私たちの世代では不可能 だろう
    • AirPods は Android でも音声再生は可能だが、iOS/macOS の利便機能 を使うには root 化と Bluetooth スタックのパッチが必要だ
    • Apple の 閉鎖的エコシステム が結果的により多くのオープンソースを生み出しているのは皮肉だ
    • こうした複雑な過程を見ると、私は今でも 有線イヤホン を使い続けていて正解だったと感じる。REDMAGIC 9S Pro と Etymōtic ER4XR の組み合わせは充電も不要で、紛失の心配もなく、スパイ行為も不可能だ。AirPods の「透明モード」「ヘッドジェスチャー」のような機能は自分には不要だ。それでも、このプロジェクトによって非 Apple デバイスでも AirPods がサポートされるのはうれしい
    • Apple が OSS に多くのコードを貢献 しているのも事実だ
  • 調整可能な透明モード(tunable transparency) は本当に良いアイデアだと思う
    トロンボーンを演奏するとき、AirPods Pro はほとんど完璧な 聴覚保護デバイス のように感じる。しかし周囲の音が大きくなると自分の演奏音がかき消されるのが惜しい。自分の楽器の音だけをもっと聞こえるようにしたり、ノイズキャンセリングと透明モードの混合 ができたらいいのにと思う

    • Apple はアクセシビリティメニューで 9 種類のプリセット EQ しか提供していない。この EQ はオーディオ再生と透明モードの両方に適用されるので、そのうちの 1 つが合えばよいのだが
  • Beats のイヤホンは AirPods と 同じチップセットとドライバー を使っているが、Android との互換性ははるかに良かった記憶がある。今もそうかは分からない

  • Pine64 Pine Buds をフラッシュしてみたが、デフォルト設定以外では音をまともに合わせられなかった。それでも UI はかなり良かった

  • こういうプロジェクトを見ると、オープン OS の利点 がどれほど大きいかを改めて感じる

  • 父のために AirPods を 補聴器のように 使ってみたかったが、iPhone の操作が難しくて試せなかった。このプロジェクトを使って、よりシンプルなインターフェースで実現する方法が気になる

    • 補聴器の設定は一度だけ行えばよく、その後は 増幅調整 をステムのスワイプで行える。iPhone なしでも使用可能だ