XiaoMusic Docker 部署教程:10 分钟用 NAS 给小爱音箱免费播歌
【免费下载链接】xiaomusic使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic
XiaoMusic 是一款面向小爱音箱的开源音乐播放工具:它拦截音箱的"播放歌曲"语音指令,用 yt-dlp 从在线平台搜索并下载到本地曲库,再让音箱直接从 NAS 上读取播放。换句话说,不用开通音乐会员,小爱音箱也能免费播歌。只要手边有一台能长期运行 Docker 的机器和一个小爱音箱,Docker 部署 XiaoMusic 全程大约 10 分钟,之后日常使用只靠嘴。
动手前备齐三样东西
- 机器:能长期跑 Docker 的设备即可,家用服务器、NAS 或一台闲置小主机都行;
- 小爱音箱:官方已测试支持的型号包括 L06A、L07A、S12/S12A、LX05、L15A、L16A(Xiaomi Sound)、L17A(Xiaomi Sound Pro)等,不在清单里的型号通常也能用,直接试即可,完整型号对照表见仓库 README.md;
- 小米账号:工具靠小米账号登录来连接音箱,配置时要填账号密码。
顺手把两个目录定下来:一个放下载的音乐,一个放配置文件。仓库明确建议两者分开挂载,混在一起以后迁移和备份都麻烦。
🐳 Docker 部署:一条命令拉起服务
在机器终端执行下面这条命令,容器就会开始下载镜像并启动:
docker run -p 58090:8090 \ -v /home/你的用户名/music:/app/music \ -v /home/你的用户名/xiaomusic-conf:/app/conf \ hanxi/xiaomusic说明:58090是宿主机对外暴露的端口,可按自己环境改;8090是容器内的固定服务端口,不要动。两个宿主机目录若不存在,先mkdir -p建好再启动,否则会报路径找不到。
容器起来后,浏览器访问http://服务器IP:58090就是 Web 管理页。不想用 Docker 也可以走源码方式,一行装好并直接启动:
pip install -U xiaomusic && xiaomusic它默认同样监听 8090 端口。
整个链路其实不复杂:你喊"播放歌曲"时,XiaoMusic 会接管这条指令,曲库里有就直接播,没有就先用 yt-dlp 下好再播。所以大多数歌只在第一次点播时联网,之后全是本地读取,几乎没有等待。
首次配置:三步绑定音箱
第一次打开页面,只需填带*的必填项:
- 输入小米账号与密码并保存——这一步做完才能拉到设备列表;
- 确认音乐存储路径与 Docker 挂载目录一致,服务端口保持默认 8090;
- 其余选项用不到就全部默认。
页面背后对应的就是 conf 目录里的配置文件,仓库里提供了完整样例 config-example.json,需要手动改参数时照它对照即可。
配置完成后,网页右上角能看到设备即代表绑定成功;家里有多台音箱时,右上角可以切换当前操作的那一台。
🎤 日常怎么和它说话
部署完之后基本不用碰页面,全部语音完成。常用口令:
- "播放歌曲"播本地曲库;"播放歌曲+歌名"(如"播放歌曲周杰伦晴天")指定播某首,本地没有会自动先下载;
- "上一首" / "下一首"切歌;"关机" / "停止播放"停止;
- "单曲循环" / "全部循环" / "随机播放"切换播放模式;
- "播放歌单+目录名"播对应子目录的歌单,"播放歌单收藏"播收藏列表,"加入收藏" / "取消收藏"管理当前歌曲。
还有个附赠玩法:这条指令对非音乐内容也生效。说"播放歌曲小猪佩奇的故事",它会先把对应音频下载下来再播,有小孩的家庭可以直接当故事机用。
本地库之外还支持网络歌单:歌单是 JSON 格式,电台和歌曲都支持,别人分享的歌单链接可以直接拿来用;手里有 M3U 电台文件的,网页内置了转换工具,可以转成 JSON 网络歌单。
自定义语音口令字典
XiaoMusic 的全部口令都由指令字典驱动。内置指令集是key_word_dict,你要加新口令只需在user_key_word_dict里补条目,不用碰内置集合;指令值支持exec#code1(...)调用自定义脚本:
"user_key_word_dict": { "晨间唤醒": "exec#code1(\"播放晨间音乐\")", "睡前安眠": "exec#code1(\"播放白噪音\")" }示例脚本在 plugins/ 目录,照着code1.py的结构就能写自己的逻辑:一句话口令可以触发任意你想编排的播放动作或脚本流程。
部署前核对:型号、音频格式与安全
三个容易踩的点:
- 音频格式:本地库识别 mp3、flac、wav、ape、ogg、m4a,下载的歌曲统一是 mp3。部分型号(如 L05B、L05C、LX06、L16A)不支持 flac,格式播不了时在设置里打开"转换为MP3"和"型号兼容模式"即可;
- 账号安全:要公网访问网页就务必开启密码登录并设复杂密码;不要在公共 WiFi 环境下使用,避免小米账号密码泄露;也不建议把绑音箱的小米账号同时用于摄像头等设备,凭据泄露时影响面会更大;
- 排查问题:连不上音箱先核对账号密码,再看网络;网页上可以直接下载日志文件定位原因,更多资料先翻仓库 docs/。
另外提前知道一件事:仓库已标注本项目停止维护,作者推荐社区接力项目songloft,打算长期部署的话留意一下这个状态。
家里有闲置 NAS 和小爱音箱的话,把上面那条 Docker 命令跑一遍,让小爱同学先给你播上第一首本地下载的歌。
【免费下载链接】xiaomusic使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考