Music Assistant 是开源媒体库管理器,串联 Spotify/Apple Music/Qobuz 等流媒体与 Sonos/Chromecast/小米等音箱设备,在树莓派/NAS 上搭建私人音乐中心。Home Assistant 官方推荐插件,6 千 + commits 活跃维护。

🎤 引言

家里有 NAS 存了几百 GB 无损音乐,也有 Spotify 会员,偶尔还想听听 Apple Music 的独占专辑——但每次找歌都要在几个 App 之间来回横跳?

Music Assistant 做的事情很简单:把你所有音乐源(本地文件、Spotify、Apple Music、Qobuz 等)汇入一个统一媒体库,然后用任意音箱播放任意来源的任意歌曲

它不是一个播放器,而是一个音乐中枢——树莓派/NAS 上跑一个服务,手机/电脑/平板任意设备控制,家里所有音箱同步播放。2025 年 12 月刚发布 2.7 大版本更新,视觉重构、用户档案、远程流媒体统统安排上,还推出了开源的 Sendspin 协议用于多房间音频。

GitHub 上 6,513 commits,Open Home Foundation 旗下项目,Home Assistant 官方推荐插件。


⭐ 核心功能

1. 统一媒体库:所有音乐源一个入口

Music Assistant 不只是"聚合播放列表",而是真正的媒体库管理器

  • 连接 Spotify、Apple Music、Qobuz、Tidal、Deezer、Pandora 等主流流媒体
  • 扫描本地 NAS/硬盘的 FLAC/MP3/AAC/OGG 等格式
  • 自动识别同一曲目:Spotify 有这首歌、本地文件也有,Music Assistant 自动关联,播放时智能选择最优来源(优先无损、优先本地省流量)

结果:你面对的是一个统一的专辑/歌手/播放列表视图,底层可能来自不同服务

2. Sendspin 协议:开源多房间音频

2.7 版本推出的 Sendspin 协议是重头戏:

  • 开源的多房间音频串流协议,任何厂商可免费接入
  • 此前多房间音频基本是 Sonos 等封闭生态的专属
  • 现在只要你有一台 Raspberry Pi + 音频输出设备,装上 Music Assistant 的 player provider,就能加入 Sendspin 网络
  • 支持分区播放:客厅放爵士,卧室放古典,同一首歌也能在不同房间同步播放

3. 内置播放器:浏览器里直接听

2.7 新增的 Built-in Player 是最大亮点:

  • 打开 Home Assistant 界面,直接在浏览器里播放音乐
  • 不需要装任何 App,不需要手机在线
  • 适合树莓派当主机、接屏幕当"音乐点唱机"的场景

4. 远程流媒体 + 用户档案

  • Remote Streaming:不在家也能控制家里播放,出差时远程切换歌单
  • 用户档案(User Profiles):家庭成员各自有自己的播放历史和偏好,2.7 新增

5. 广泛的播放器兼容

Music Assistant 通过 Player Providers 连接各种音箱:

  • Sonos(官方 provider)
  • Chromecast / Google Home
  • Xiaomi 小米音箱
  • DLNA / UPnP(老式功放、网络收音机)
  • Home Assistant 已有媒体播放器(直接复用 HA 的设备实体)
  • Airplay 2(部分设备)
  • Snapcast(DIY 多房间音频)

不强制绑定单一生态,混用硬件也能组网。这才是真正吸引人的点。

6. Open Home Foundation 背书

Music Assistant 隶属于 Open Home Foundation——一个推动智能家居开放生态的非营利基金会。背靠这个基金会,项目没有商业化压力,不会突然付费墙,适合长期使用。


📥 安装使用

Music Assistant 不能通过 pip 安装(有 ffmpeg 和自定义二进制依赖),只有两种安装方式:

方式一:Home Assistant Add-on(推荐)

前提:已安装 Home Assistant(树莓派 + Home Assistant OS 或 Container 都行)

设置 → Add-ons → Add-on Store → 搜索 "Music Assistant" → 安装 → 启动

配置里填入要扫描的流媒体账号,即可使用。

方式二:Docker(独立部署)

不想用 Home Assistant?直接 Docker:

docker run -d \
  --name music-assistant \
  -p 8095:8095 \
  -v /path/to/music:/music \
  --restart unless-stopped \
  ghcr.io/music-assistant/music-assistant:latest

访问 http://<你的IP>:8095 打开 Web UI。

初始化配置流程:

  1. 添加流媒体账号(Spotify Connect、Apple Music、Qobuz 等)
  2. 扫描本地音乐(指定 NAS 路径)
  3. 配置播放器(在 Player Providers 里添加你的 Sonos/Chromecast 等)
  4. 创建播放列表,开听

支持的硬件平台:Raspberry Pi(所有型号)、NAS(Synology、QNAP、TrueNAS)、Intel NUC、各种 x86 主机。


🎯 适用场景

适合这些人:

  • Home Assistant 用户:已有 HA 智能家居,想把音乐也纳入统一控制
  • 多设备混用家庭:同时有 Sonos、Chromecast、小米音箱、DLA 老功放,不愿被单一品牌绑定
  • NAS 收藏癖:NAS 里存了几百 GB 无损音乐,想统一管理 + 流媒体同步听
  • 多房间音频爱好者:想实现客厅/卧室/厨房同步播放或分区播放
  • 隐私敏感用户:本地音乐不想上传到任何云服务,音乐库完全自控

不太适合这些人:

  • 纯云用户:只用 Spotify/Apple Music,不想折腾本地文件管理
  • 只想手机听歌:装个 Spotify App 就够,不需要多音箱协同
  • 追求极致音质:Music Assistant 是方便管理工具,不是 Hi-Fi 音质播放器

🔍 对比/替代方案

方案媒体库多音箱开源生态安装方式
Music Assistant✅ 统一管理流媒体 + 本地✅ Sonos/Chromecast/DLNA/混用✅ Sendspin 开源HA 官方插件HA Add-on / Docker
Sonos App❌ 仅 Sonos 生态✅ Sonos 封闭生态闭源封闭独立 App
Apple Music + HomePod✅ Apple Music✅ 仅 AirPlay 2苹果封闭生态苹果全家桶
MPD (Music Player Daemon)⚠️ 仅本地文件⚠️ 仅网络播放无生态绑定Linux 原生
Logitech Media Server⚠️ 本地文件为主⚠️ Squeezebox 生态较小社区Perl/Docker

Music Assistant 的核心差异:它是目前唯一能同时做到"聚合主流流媒体 + 本地文件"且"混用多品牌音箱"的开源方案,且有 Home Assistant 官方生态加持。Sonos App 绑 Sonos,MPD 只能管本地文件——中间没有对手。


⚠️ 注意事项

1. 不能当 PyPI 包安装

Music Assistant 的自定义二进制依赖(FFmpeg、语音分析库等)决定了它无法通过 pip 安装。如果你的 NAS 是群晖,想跑 Music Assistant:

  • 方案 A:装 Home Assistant Container(Docker 版 HA),再装 Music Assistant Add-on
  • 方案 B:直接 Docker(不想装 HA 的情况下)

不要尝试 pip install music-assistant,你会失望的。

2. 流媒体账号需要 Premium

Spotify Connect、Apple Music 等功能需要对应的付费账号

  • Spotify Free → 仅限 Spotify 内置 provider
  • Spotify Premium → 所有 Spotify Connect 功能
  • Apple Music → 需要订阅(Family Plan 可多人共享)

本地文件扫描是唯一不需要付费的功能。

3. DLNA/UPnP 兼容性参差

DLNA 是开放标准但各厂商实现差异大,部分设备可能出现"能发现但播放卡顿"问题。官方推荐列表是 Sonos、Chromecast 系列稳定性最好。遇到 DLNA 问题先查 官方兼容性列表

4. Sendspin 协议还在发展

Sendspin 是 2.7 新推出的协议,生态还在建设。目前支持 Sendspin 的设备主要是 Music Assistant 官方 client 和树莓派 DIY 方案,大品牌音箱接入还需要时间。

5. GitHub 地址github.com/music-assistant/server


✅ 总结

优点:

  • 流媒体 + 本地文件统一媒体库,智能选择最优来源
  • Sendspin 开源协议,打破 Sonos 封闭生态
  • 混用 Sonos/Chromecast/小米/DLNA,不强制单一品牌
  • 内置浏览器播放器,无需 App 就能听
  • Open Home Foundation 背书,无商业化压力长期维护
  • Home Assistant 官方插件,开箱即用

缺点:

  • 不能 pip 安装,必须 Docker 或 HA Add-on
  • 流媒体需 Premium 账号(本地文件除外)
  • Sendspin 生态早期,大品牌音箱支持有限
  • DLNA 兼容性存在设备差异

推荐指数:⭐⭐⭐⭐(4/5)

如果你在用 Home Assistant,这是最值得装的插件之一——免费、活跃、解决真实痛点。就算不用 HA,只要家里音箱多(超过 3 台不同品牌),Music Assistant 也能显著提升体验。

适用人群:HA 用户 / 多音箱混用家庭 / NAS 音乐收藏者 / 多房间音频爱好者
不适用人群:纯云用户 / 追求 Hi-Fi 音质 / 不愿折腾 Docker

项目地址:github.com/music-assistant/server,有树莓派或 NAS 的值得一试。