Androidのマルチルームオーディオ:セットアップと同期
Androidスマートフォンから複数のスピーカーやデバイスで同期して音楽を再生する方法。UPnP、Chromecast、クロスプロトコルマルチルームの実践的なセットアップのヒント。
マルチルームの本当の意味
マルチルームオーディオとは、同じ音楽を異なる部屋のスピーカーで同時に再生することです。キッチンからリビングに移動しても曲がシームレスに続きます。隙間なし、エコーなし、部屋間の奇妙な遅延なし。
マルチルームの真の定義は「同じ曲を複数の場所で」ではありません。それは同期再生 — 異なるスピーカーからのオーディオが数十ミリ秒以内に耳に届くこと。2つのスピーカーが約50ms以上離れると聴こえます。30ms以下なら、ほとんどの人は違いが分かりません。これがターゲットです。
同期の問題
再生をタップすると、一連のイベントが起こります:アプリがWiFi経由でスピーカーにコマンドを送信し、スピーカーがそれを受信し、オーディオデータをバッファし、DACで処理し、音が出ます。すべてのステップに時間がかかり、デバイスごとに異なる時間がかかります。
Chromecastは約800ms。Denon レシーバーは約200ms。SoundTouchスピーカーは約150ms。スマートフォンのヘッドフォンジャックは10ms未満。4つすべてに同じ瞬間に再生コマンドを送信すると、音はバラバラのタイミングで出てきます。
プロトコルの状況
| Sonos | AirPlay 2 | Chromecast | UPnP/DLNA | |
|---|---|---|---|---|
| エコシステム | Sonosのみ | Appleのみ | Googleのみ | オープン標準 |
| 同期精度 | 約1ms(独自メッシュ) | 約5〜20ms(Apple最適化) | 約50〜200ms(Castグループ) | ネイティブ同期なし |
| グループ化 | ネイティブ、優秀 | ネイティブ、良好 | ネイティブ、まずまず | グループ化標準なし |
| デバイス範囲 | Sonosスピーカーのみ | Apple + ライセンス製品 | Cast対応 | レシーバー、TV、ストリーマー、スピーカー — 数百ブランド |
| Androidサポート | Sonosアプリ経由のみ | 利用不可 | あり | あり |
ほとんどの人は単一のエコシステム内で完結していません。5年前に買ったレシーバー、寝室のChromecast、リビングのスマートTV、パティオのBluetoothスピーカーがあるでしょう。
Echoboxでのマルチルーム構築方法
私たちはこれをアウトプットグループと呼んでいます。好きなデバイスを選び — UPnPレンダラー、Chromecastデバイス、スマートフォン自体の出力の任意の組み合わせ — Echoboxがすべてにわたって再生を調整するグループを作成します。
ドリフト補正が正しく機能するまで数ヶ月かかりました。現在のシステムは次のように動作します:すべてのデバイスが再生されたら、Echoboxは各デバイスに現在の再生位置を約1秒ごとにポーリングします。各デバイスの報告された位置を同期アンカーに基づくあるべき位置と比較します。
デバイスごとのインテリジェンスが重要です。Echoboxはこれまでに見たすべてのデバイスのプロファイルを維持しています。信頼性の高いシークを持つDenon AVRはタイトなドリフト閾値を取得します — 150msのドリフトでシークコマンドによる補正。信頼性の低いシークを持つ汎用DLNA TVははるかに広い許容範囲を取得します。詳しくはUPnPストリーミングガイドをご覧ください。
特に誇りに思っているのは、スマートフォンでのローカル再生とネットワークデバイスへの再生を同時に行えることです。ローカルエンジンは10ms未満のレイテンシーでオーディオバッファから直接読み取り、同じトラックがHTTP経由でネットワークデバイスにストリーミングされます。Bluetooth経由のヘッドフォンを接続したまま歩き回り、家中のスピーカーが同じ音楽を再生できます。
実践的なセットアップのヒント
ネットワーク要件。 すべてのデバイスが同じサブネット上にある必要があります。SSMPマルチキャスト発見が機能する必要があります。
WiFiの安定性は速度よりも重要。 マルチルームオーディオはあまり帯域幅を必要としませんが — 非圧縮CD品質オーディオでも約1.4 Mbps — 一貫したレイテンシーが必要です。5 GHzネットワークは一般的に2.4 GHzよりも一貫したレイテンシーを提供します。
グループ用デバイスの選択。 最もタイトな同期のためには、似た特性のデバイスをグループ化してください。同じメーカーの2つのUPnPレシーバーは、ChromecastとUPnP TVのペアよりも良い同期を保ちます。
レイテンシーの期待値管理。 Sonosのようなハードウェア同期システムはスピーカーがクロックを共有するため1〜5msの精度を達成します。WiFi経由のソフトウェア調整同期は最良の場合で約30〜50msが上限です。家中でのBGMリスニングなら、200ms以下で問題ありません。
使い分け。 複数のChromecastデバイスがある場合、それら用のGoogle Homeスピーカーグループを作成する方がシンプルで同期も良好です。Echoboxグループはネイティブグループ化では対応できないケースに使用してください:ChromecastとUPnPの混在、スマートフォンのグループメンバー追加、ネイティブグループ化サポートのないUPnPデバイスのグループ化。
現状
異なるプロトコル間のマルチルームは難しい問題であり、完全に解決されたとは言いません。ソフトウェア調整同期はクリティカルリスニングにおいてSonosのようなハードウェア同期システムには及びません。
しかし、実世界のシナリオ — 異なる時代、異なるブランドの異なるスピーカーすべてがスマートフォンから同期して音楽ライブラリを再生する — では機能します。オーディオファイルグレードの同期ではありませんが、家全体でのリスニングを真に楽しくする精度です。そしてシステムは時間とともに賢くなります。