Tune by Mozaiklabs

OAAT — マルチルームのビットパーフェクト再生を民主化するオープンソースプロトコル

問題:ハイファイオーディオは囲い込まれている

この20年、ハイファイのネットワークオーディオストリーミングはプロプライエタリなプロトコルに囚われてきました。RAAT(Roon)は申し分ない品質を提供します——しかしその代償は? 有償の認証、クローズドなコード、囲い込まれたエコシステム。DLNA はオープンですが技術的に限界があります:マルチルーム同期なし、ギャップレスは運任せ、レイテンシーは高い。

OAAT(Open Advanced Audio Transport)はこのジレンマを解決します。私が設計し、Rust で実装したネットワークオーディオ伝送プロトコルです。Apache 2.0 ライセンスの完全なオープンソースで、両者の長所を兼ね備えています。

OAAT がもたらすもの

  • ビットパーフェクトなオーディオ — PCM は 768 kHz / 32 bit まで、DSD はネイティブで DSD512 まで。リサンプリングなし、妥協なし。
  • サブミリ秒のマルチルーム — エンドポイント間を PTP で同期し、ずれは 1 ms 未満。RAAT に匹敵しますが、ライセンスは不要です。
  • インテリジェントなネゴシエーション — プロトコルが DAC の能力に応じてフォーマットを自動的に適合させます。手動設定は不要。
  • 参入障壁ゼロ — 認証なし、ライセンスなし、DRM なし。メーカーは約 1,500 行の Rust で準拠エンドポイントを実装できます。

3チャンネル構成のアーキテクチャ

DLNA(HTTP プル、XML/SOAP)とは異なり、OAAT は関心を分離します:

  • 制御(TCP ポート 9740)— 軽量な JSON メッセージ:ハンドシェイク、フォーマットネゴシエーション、play/pause、メタデータ
  • オーディオ(UDP ポート 9741)— プレゼンテーションタイムスタンプ付きのバイナリパケット、サーバープッシュ、head-of-line blocking ゼロ
  • クロック(UDP ポート 9742)— マルチルーム同期のための PTP 交換

ディスカバリーは mDNS/DNS-SD による自動検出。エンドポイントをネットワークに接続すれば、そのまま現れます。以上。

graph LR
    A["Tune Server"] -->|"TCP :9740 — contrôle JSON"| B["Endpoint OAAT"]
    A -->|"UDP :9741 — audio PCM/FLAC"| B
    A <-->|"UDP :9742 — clock sync PTP"| B
    B -->|"I2S / USB"| C["DAC"]

    style A fill:#4a90d9,stroke:#333,color:#fff
    style B fill:#50c878,stroke:#333,color:#fff
    style C fill:#f5a623,stroke:#333,color:#fff

プロトコルの比較

  • OAAT:オープンソース(Apache 2.0)、ビットパーフェクト、ネイティブ DSD、マルチルーム同期 < 1 ms、エンドポイントは約 1,500 行
  • RAAT(Roon):ビットパーフェクト、DSD、マルチルーム — ただしプロプライエタリ、認証は有償、コードはクローズド
  • DLNA/UPnP:オープン — ただしマルチルーム同期なし、ギャップレスの信頼性が低い、DSD は DoP のみ
  • AirPlay 2:Apple のマルチルーム — ただし 48 kHz/24 bit まで、DSD 非対応、閉じたエコシステム
  • Chromecast:Google 専用、ロッシーなリサンプリング、最大 48 kHz

プロトコルから製品へ:100 ユーロの Raspberry Pi

OAAT が理論上の仕様にとどまらないことを示すため、Raspberry Pi 4 と Audiophonics ESS 9038Q2M DAC をハイエンドなオーディオエンドポイントに仕立てました:

  • DAC の I2C レジスタによるハードウェアボリューム
  • 設定可能な 7 種類の FIR フィルター(minimum phase、linear phase、apodizing など)
  • Tune のインターフェースをキオスクモードで表示する 7 インチタッチスクリーン
  • systemd サービス、自動起動、透過的な再接続

総コスト:約 100 ユーロ。 Roon Ready 認証済みエンドポイントは 500 ユーロから始まります。

👉 完全なインストールガイドはこちら:Raspberry Pi を OAAT オーディオエンドポイントにする。

メーカーと開発者の方へ

HAL(Hardware Abstraction Layer)トレイトは 5 つのメソッドだけです。自動化された適合性検証ツールが 20 のテストであなたの実装を検証します。

trait OaatHal {
    fn configure_output(&mut self, format: AudioFormat) -> Result<()>;
    fn write_frames(&mut self, data: &[u8], frames: usize) -> Result<usize>;
    fn buffer_level(&self) -> usize;
    fn set_volume(&mut self, level: u8) -> Result<()>;
    fn actual_sample_rate(&self) -> Option<f64>;
}

あなたのミュージックサーバーに oaat-controller クレートを組み込めば、ビットパーフェクトなマルチルームが手に入ります。ネイティブ統合向けに C バインディング(FFI)も用意されています。

数字で見る

  • 9 個の Rust クレート、約 8,000 行のコード
  • 20 の自動適合性テスト
  • マルチルーム同期のずれは 1 ms 未満(実測)
  • 動作時の RAM は約 50 MB
  • PCM 768/32、DSD512、圧縮 FLAC に対応
  • Apache 2.0 ライセンス

Tune への統合

OAAT はすでに、MozAIk Labs が開発するソースコード公開(BSL 1.1)のミュージックサーバー Tune に統合されています。OAAT エンドポイントは自動的に検出され、再生ゾーンとして表示されます——DLNA、AirPlay、Chromecast と同じように、しかしより高い音質で。

リンク