news 2026/10/16 6:50:53

XiaoMusic 入门指南:3 步部署,让小爱音箱免费播放全网歌曲

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
XiaoMusic 入门指南:3 步部署,让小爱音箱免费播放全网歌曲

XiaoMusic 入门指南:3 步部署,让小爱音箱免费播放全网歌曲

【免费下载链接】xiaomusic使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic

XiaoMusic 是一个开源的音乐播放工具,通过 yt-dlp 下载音乐并推送到小爱音箱,让设备脱离原有平台的曲库限制,免费点播全网歌曲、播放网络歌单与本地曲库。它部署在 NAS、树莓派或任意 Linux 机器上,通过 Web 控制台完成配置,之后直接用语音控制小爱同学即可。

本文会带你完成:

  • 30 分钟内的部署与验证流程
  • 3 条最常用的语音口令实测
  • 网络歌单、多设备分组、自定义插件 3 个进阶玩法
  • 一张故障速查表

先看效果:三条口令的实际表现

点播全网歌曲

对小爱同学说"播放歌曲周杰伦晴天",XiaoMusic 会先通过 yt-dlp 把这首歌下载到本地music/download目录,再推送到音箱。第二次再点同一首歌时由于已有缓存,响应速度会明显加快。

切换播放模式

以下口令直接触发对应动作:

  • "单曲循环" - 重复播放当前歌曲
  • "随机播放" - 随机顺序播放
  • "下一首" / "上一首" - 切换歌曲
  • "关机" - 停止播放

口令到命令的映射全部是数据驱动的,核心逻辑在 xiaomusic/command_handler.py 里,可以在config.json中完全自定义。

下载并播放有声故事

对小爱同学说"播放歌曲小猪佩奇的故事",XiaoMusic 会先用 yt-dlp 搜索并下载对应的音频文件,再播放。这个能力对家中有孩子的场景特别有用,不用提前准备本地文件,说一声就行。

30 分钟从零跑通

准备环境

XiaoMusic 支持两种安装方式,任选其一:

  • Docker(推荐):镜像内已包含 Python、ffmpeg、node 等全部依赖,适合 NAS、树莓派
  • Pip 安装:适合已有 Python 环境的机器

两种方式的 Web 端口都是 8090,Docker 默认映射为宿主机的 58090。

Docker 启动

docker run -d \ -p 58090:8090 \ -v /xiaomusic_music:/app/music \ -v /xiaomusic_conf:/app/conf \ --name xiaomusic \ hanxi/xiaomusic

参数说明:

  • /xiaomusic_music是宿主机上的音乐存储目录,对应容器内/app/music
  • /xiaomusic_conf是宿主机上的配置存储目录,对应容器内/app/conf
  • 两个目录建议分开,便于单独备份
  • 国内网络环境可把镜像前缀换成docker.hanxi.cc/hanxi/xiaomusic

如果提示目录不存在,先执行mkdir -p /xiaomusic_music /xiaomusic_conf创建。

Pip 启动

pip install -U xiaomusic xiaomusic --config config.json

config.json可参考仓库根目录的 config-example.json,关键字段:

{ "account": "小米账号", "password": "小米密码", "music_path": "music", "conf_path": "conf", "port": 8090 }

登录小米账号并绑定音箱

浏览器访问http://NAS_IP:58090进入 Web 控制台。首次进入需要在设置页输入小米账号和密码并保存,系统会自动拉取该账号下的小爱音箱设备列表。

已测试支持的型号覆盖目前在售的小爱音箱系列,包括 L06A、L07A、LX06、LX01、L05B、L05C、L16A、L17A、L15A、LX05、LX5A、L09A 等,完整清单见 README 的设备支持章节。

验证:发一条口令

音箱开机后对小爱同学说"播放歌曲晴天"。如果音箱开始播放,整个链路就跑通了。Web 控制台的播放列表页也会同步显示当前正在播放的歌曲,进度条会实时更新。

进阶玩法

网络歌单与 M3U 转换

除了本地音乐库,XiaoMusic 还支持 JSON 格式的网络歌单,可以直接填一个电台或歌曲 URL 列表,用"播放歌单"口令触发。

仓库自带一个 M3U 转换页 xiaomusic/static/default/m3u.html,把.m3u8/.m3u电台文件粘贴进去就能转成 JSON 歌单,省去手写。

多设备分组

家里有多台小爱音箱时,可以在 config-example.json 的group_list字段配置分组,格式为组名:设备ID1,设备ID2,用逗号分隔多个组。之后可以用"播放歌单+组名"的口令让整个分组同步播放,实现客厅和卧室放同一首曲子,或者各放各的。

自定义语音口令与插件

config.json中提供两个口令字段:

  • key_word_dict:口令到内置命令的映射
  • user_key_word_dict:用户自定义口令

示例:

"key_word_dict": { "播放周杰伦的歌": "singer_play", "测试口令": "exec#code1(\"hello\")" }

第二种exec#函数名的形式可以调用 plugins/ 目录下任意 Python 插件。仓库自带了一个示例插件 plugins/code1.py,触发后会调用xiaomusic.do_tts让音箱朗读自定义文本。基于这个机制,你可以把音箱接到任意第三方服务,比如定时播报天气、触发智能家居场景等。

故障速查

现象可能原因处理
启动后 Web 页面打不开端口被占用或防火墙拦截换端口或放行 58090
Web 控制台设备列表为空小米账号密码错误或网络不通重新输入账号密码,确认 NAS 能访问小米服务器
下载歌曲失败yt-dlp 源不可达在config.json配置proxy字段,或更换search_prefix(默认bilisearch:)
某型号音箱无法播放 flacL05B、L05C、LX06、L16A 不支持 flac在 Web 设置里打开"转换为 MP3"和"型号兼容模式"
口令没反应关键词未匹配或模糊匹配阈值过高调整fuzzy_match_cutoff(默认 0.6),或检查key_match_order顺序
音箱播放声音断断续续NAS 到音箱的网络不稳优先用有线,或把 XiaoMusic 部署在局域网内

遇到其他问题可以从 Web 设置页底部"下载日志文件"按钮拿到日志,搜索确认里面没有账号密码后再反馈。常见问题集合参考 docs/issues/99.md。

安全与长期运行

  • 不要暴露公网:config.json的hostname默认是局域网 IP,保持这样即可。如果一定要公网访问,务必开启disable_httpauth: false并设置强密码,避免小米账号泄露。
  • 账号隔离:不要用绑定了摄像头的主小米账号,账号一旦泄露,监控录像也会跟着暴露。
  • 定期备份:conf目录存了账号凭据与配置,music目录存了本地曲库,两者分开备份最方便。
  • 磁盘清理:下载的 MP3 会持续累积,xiaomusic/crontab.py 里已经内置了凌晨 3 点清理临时文件的定时任务,也可手动定期删除music/download下的旧文件。

小结

XiaoMusic 把"小爱音箱只能听平台曲库"这件事变成了"小爱音箱能听任何 yt-dlp 能下载的音乐"。30 分钟部署完,语音口令直接生效,之后按需扩展网络歌单、多设备分组或自定义插件,就是完整的使用路径。

【免费下载链接】xiaomusic使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 6:50:31

SpringBoot+Vue+MySQL编程训练系统设计:从判题到权限控制的全栈实战

最近连续好几个学弟学妹问我毕设选题的事,聊下来发现一个共同点:都想做一个“看起来有技术含量、工作量适中、又不至于烂大街”的系统。编程训练管理平台恰好是这类项目里最稳的选择之一——它既有用户管理、权限控制这类常规业务,又有代码提…

作者头像 李华
网站建设 2026/10/16 6:49:43

Java手写ArrayList与LinkedList:从扩容到哨兵节点全解析

最近帮一位朋友梳理 Java 基础时,他随口说了句:"ArrayList 和 LinkedList 我天天用,但你要我现在手写一个,我估计得想半天。" 这话我太熟悉了,几乎每个靠背 API 活着的开发者都会有这个症状。能调用现成容器…

作者头像 李华
网站建设 2026/10/16 6:49:28

宠物购买管理系统毕设全攻略:从数据库到答辩一次讲透

每年到了毕设选题的时候,"宠物购买管理系统"这类题目都会在选题清单里占据一席之地。很多同学觉得它"太普通"、"没技术含量",但真正动手之后才发现,一个能跑通完整业务流程、经得起答辩追问的系统,…

作者头像 李华
网站建设 2026/10/16 6:48:52

Spring Boot高铁售票系统毕业设计:并发控制与业务建模实战

高铁售票系统这个题目,在计算机毕业设计里属于那种看起来门槛不高,但真正做完的人没几个的经典款。你要是去看这几年本科毕设的选题清单,"基于Spring Boot的XXX系统"基本占了大半壁江山,其中围绕车票、机票、电影票、酒…

作者头像 李华
网站建设 2026/10/16 6:48:51

Aria2+AriaNg:全平台下载工具原理与搭建实践

下载文件速度慢、任务中断只能从头再来、不同系统要用不同下载软件——这些场景很多同学都遇到过。市面上的下载工具数量不少,但真正能做到“全平台、多协议、多线程分段加速、自带浏览器扩展、轻量低占用”的并不算多。本文就围绕这一类下载工具,拆解其…

作者头像 李华
网站建设 2026/10/16 6:48:37

Nacos接入人大金仓KingbaseES实战避坑指南

简介:本资源是一套面向Java微服务开发者与国产化数据库运维人员的Nacos人大金仓数据源集成实践方案,聚焦国产数据库在配置中心场景下的适配落地,解决服务治理中动态管理Kingbase数据源的核心痛点。压缩包共15个文件,含4个关键SQL脚…

作者头像 李华