KunSpace
返回博客

Soundbar Multi-Room 无线音频:主机分发、配网与同步

2026年7月18日
3 次阅读

读完了?别空手走啊 😏

读都读完了,不点个赞说不过去吧

写评论

读完了不评论,作者会以为你在沉思

这篇写什么?

目标很具体:Soundbar(主机)+ Speaker(从机),先跑通 Multi-Room——配网、传音频、从机出声、基本同步。

一句话:

Soundbar 连 Wi-Fi → 蓝牙搜 Speaker → 下发 Wi-Fi 入网
→ MS12 PCM → AIDL → Soundbar App → Snapcast → Speaker ALSA

同套底座以后还能扩展 Multichannel 无线家庭影院(后置 / 低音炮分声道),但两条产品线不要混;本文以 Multi-Room 为主。


一、我们要做什么

Soundbar 为主机,做两条自研无线音频能力:

能力 场景 本文权重
Multi-Room 多房间音乐 全屋同播,或分房间不同内容 主目标(Demo 先跑通)
Multichannel 无线家庭影院 电视/电影/游戏,按声道分给后置与低音炮 同底座扩展,第一阶段并行产品化 2.1/3.1

二、场景与问题清单(Multi-Room)

# 场景 / 问题 当前结论
1 所有设备播同一首歌,如何组网?谁当下载最快的「主机」? Demo 固定 Soundbar 为主机;「最快下载者当主机」留到后续
2 各房间播不同歌,还要不要主机? 要。分发与时钟仍需协调者
3 音乐分发是否必须主机? 必须。主机负责源与分发
4 传输方式? Snapcast(Phase 0/Demo)
5 同步方式? 时间戳 + 主机补 delay(可复用已验证的延迟闭环思路)
6 组网? 蓝牙搜索设备 + Wi-Fi 组网配对
7 Speaker / Soundbar 配网后? 信息上报 Skway,手机 App 可管设备
8 Demo 目标? Soundbar 主机 + Speaker 从机,先通 Multi-Room

Demo 跑通四步

  1. Soundbar 连 Wi-Fi → 蓝牙搜 Speaker → 配对 → 下发 Wi-Fi → Speaker 入网
  2. Soundbar / Speaker 设备信息上 Skway(手机 App 可控)
  3. Soundbar App 可添加 Speaker(组网)
  4. PCM → AIDL → App → Snapcast → Speaker 播放
MS12 PCM → AIDL → Soundbar App → Snapcast → Speaker → ALSA

三、两条产品线不能混

3.1 对比

维度 Multi-Room 多房间音乐 Multichannel 无线家庭影院
典型用途 全屋同一首歌 / 各房间不同歌 看电视 / 电影 / 游戏
声道关系 各房间播相同 stereo 各 speaker 播不同声道(L/R/LS/RS/LFE…)
延迟容忍 较高,不断音即可 很低,口型与左右声道不能乱
主机角色 手机 / App 或任一播放端(长期);Demo = Soundbar Soundbar 必须是主机
核心指标 分组、控制、覆盖 声道映射 + 多设备同步 + 音画对齐
第一阶段 Demo 主路径 产品目标 2.0 / 2.1 / 3.1
第二阶段 可顺带支持 5.1 → 5.1.2 / 5.1.4

结论: Demo 先通 Multi-Room;产品化主攻 Multichannel 2.1/3.1;Multi-Room 作为同一套系统的扩展能力。

3.2 第一版范围(与 Multi-Room / 早期 Multichannel 共用)

类别 内容
要做 Soundbar 本地播放 + 1~2 个 Linux Speaker + 可选 Sub;PCM 48k/16bit;发现/配对;feedback;本地 speaker delay;start/stop/flush;Snapcast 立体声分发
不做(本阶段) 5.1.4;Cast/AirPlay 认证;DRM 完整策略;Hi-Res;复杂房间校准

四、关键决策(Demo)

决策项 结论
音频传输 Snapcast
数据通路 MS12 → PCM → AIDL → APP → Snapcast → 音箱 → ALSA
主机 / 从机 Soundbar = 主机,其他音箱 = 从机
组网 蓝牙搜索 + Wi-Fi 配对;触发:摇一摇 / 按键 / App
后端 配网后信息上 Skway
声道(短期) 先传立体声,通了再做多声道
同步 时间戳 + 主机补 delay,目标几十 ms 内

五、市面方案给我们什么启发

做得好的方案(AirPlay 2 / Cast / Sonos / DTS Play-Fi / WiSA / 华为 / 小米 / 天猫精灵)底层规律一致:

  • Wi-Fi 传音频
  • 每包带 播放时间戳
  • 主时钟 / 组协调者
  • App 管发现配对

5.1 总览(摘)

方案 传输 同步 多房间 对我们
AirPlay 2 RTP + ALAC/AAC PTP 封闭,不学底座
Google Cast 各端拉流 Group Coordinator 偏 multi-room,不解决 HAL 抓 TV PCM
Sonos 专有 + timestamp GC 体验标杆 学易用性
DTS Play-Fi Wi-Fi 48k/16 分声道 专有 HT 成熟 学家庭影院体验
Snapcast(开源) TCP/UDP + server time NTP/server time 偏 multi-room Phase 0 / Demo 验证
华为 / 小米 Wi-Fi 私有 分布式 / 音频组 学 App / 语音体验
天猫精灵 5.1 Wi-Fi 无线 5.1 专有 HT 形态接近 国内竞品参考

我们学: 时间戳 + 缓冲 + 反馈闭环;Multi-Room 交互学华为/小米;家庭影院体验学 Play-Fi / 天猫。

我们不走: AirPlay/Cast 认证生态;Matter 音频;开源套壳量产(Snapcast 只做 Phase 0 验证与 Demo)。

5.2 延迟感对照(粗)

场景 典型延迟感
华为/小米 多房间同播 理想 50~150ms,差网数百 ms
小米全屋播放 官方 ~80ms,实测 200~500ms 均有
Phase 0 Demo 固定 buffer ~120ms(可配)
Phase 1 目标 设备间 sync <20ms

六、Aetheryal 验证了什么、自研换什么

已在 Soundbar 跑通:

HAL 抓解码后 PCM → 上层分发 → property 反向补偿本地喇叭与视频延迟

这条 「抓 PCM + 延迟闭环」 路径正确,自研必须保留。

局限: 传输、配对、音箱管理、诊断在黑盒内,难定制 App、弱网与自有音箱生态。

结论: 保留机制,替换黑盒传输层 → 自有协议 / 服务 / App;Demo 阶段传输先用 Snapcast 打通。

相关技术细节见:Aetheryal Multi-Room 架构:从 TVUI 到 MS12 PCM 回调


七、自研架构(Soundbar 为主机)

7.1 系统总体

Soundbar 主机架构:抓 PCM、无线分发、SyncController 延迟闭环Soundbar 主机架构:抓 PCM、无线分发、SyncController 延迟闭环

Soundbar 作主机 / 主时钟:抓 PCM、(后续)按声道拆分发送、收集音箱反馈、计算延迟补偿;本地喇叭和视频去「等」最慢的无线音箱

Multi-Room Demo 时:短期 stereo 整包分发(Snapcast),不强制拆 LS/RS/LFE;图中的后置 / Sub 能力留给 Multichannel 阶段。

7.2 信号链与延迟闭环

信号链:HAL 抓取 → 打包 → UDP → Jitter Buffer → ALSA;SyncController 反馈补 delay信号链:HAL 抓取 → 打包 → UDP → Jitter Buffer → ALSA;SyncController 反馈补 delay
步骤 做什么
解码后 PCM TV / App 源经 MS12
HAL 抓取 加时间戳
拆声道 · 打包 Multi-Room Demo 可先整包 stereo;HT 再拆声道
Wi-Fi UDP / Snapcast
Jitter Buffer 抗抖动
ALSA 按时刻输出

原则: 让画面与本地喇叭去「等」最慢的无线音箱,保证音画 / 左右 / 前后一致。

7.3 三层架构

层面 职责 Soundbar Speaker
控制面 发现、配对、音量、session App + 控制服务 DeviceAgent
媒体面 PCM 传输、丢包统计 抓 PCM + 打包 + 发送(Demo: Snapcast) 收包 + Jitter Buffer
同步面 多 speaker 对齐 SyncController + 延迟补偿 按时间戳播放 + 反馈

八、配网怎么走(Demo)

Soundbar 已连 Wi-Fi
    → 蓝牙搜索 Speaker(配网模式)
    → 点击配对,把 Wi-Fi 信息传给 Speaker
    → Speaker 入网
    → Soundbar / Speaker 信息上报 Skway
    → 手机 App 可发现并控制设备组

Soundbar 自身也要完成可被 Skway / 手机 App 管理的配网上报。触发方式可以是:摇一摇 / 按键 / App。


九、分阶段路线

分阶段演进:Phase 0 打通链路 → 1 产品化 → 2 口型 → 3 的 5.1 → 4 量产分阶段演进:Phase 0 打通链路 → 1 产品化 → 2 口型 → 3 的 5.1 → 4 量产
阶段 交付物 验收标准
Phase 0 HAL→(Snapcast/UDP)→ALSA 原型 30min 不断音;start/stop/flush 正常
Phase 1 App 发现/配对;Multi-Room stereo;兼 2.1/3.1 设备间 sync <20ms;配对 OK
Phase 2 video delay 闭环 口型无明显偏移
Phase 3 5.1 多 speaker 声道正确;sync <5ms
Phase 4 量产 OTA / 弱网恢复 / SELinux / DRM 策略

十、一句话结论

Aetheryal 已验证「Soundbar 抓 PCM + 延迟闭环」可行;Demo 用 Snapcast 先跑通 Multi-Room(配网 → AIDL → 分发 → 从机出声);再替换黑盒、产品化 2.1/3.1,并演进到口型同步、5.1 与量产。

评论

还没有评论,来做第一个吧

读完了不评论,作者会以为你在沉思