10分钟把小爱音箱变成私人点歌台:XiaoMusic免费部署,想听的歌张口就来
【免费下载链接】xiaomusic使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic
深夜两点,你突然想听那首十年前的单曲循环。你对着小爱音箱说"播放XX",结果它要么回一句"暂不支持播放该内容",要么放出一首不知道谁唱的翻唱。翻遍手机歌单,那首歌偏偏没下载。这种憋屈,用过智能音箱的人都懂。
今天要分享的免费开源项目 XiaoMusic,就是专门治这个毛病的。它把小爱音箱变成一台"无限曲库"的点歌台——你说歌名,它自己上网找、自己下载、自己播放,整个过程不用你碰手机,全程语音搞定。
深夜想听一首歌,到底有多难
先别急着装软件,我们把问题摊开看。
你手上的小爱音箱,音乐资源来自平台授权。版权到期的歌、小众独立乐队的歌、老歌的经典版本,统统放不了。这不是音箱不行,是"版权围墙"把你挡在了外面。
再说下载。就算你在电脑上找到了资源,还得传文件、建歌单、按格式整理,折腾半小时,想听的热情早没了。
最后是操作。原生音箱的语音功能偏"机械",能听懂"播放XX",但听不懂"把这首加进收藏""明天早上八点放新闻"这种组合指令。
XiaoMusic 的思路很简单:把下载、整理、播放这三件事,全部塞进一句语音里。
一张表看懂:它和原生小爱差在哪
| 对比项 | 原生小爱音箱 | 加装 XiaoMusic 之后 |
|---|---|---|
| 曲库范围 | 平台授权内容,版权受限 | 全网搜索,自动下载,本地留存 |
| 下载方式 | 不支持 | 说歌名即自动下载(yt-dlp 驱动) |
| 语音指令 | 基础播放控制 | 支持歌单、收藏、定时、自定义口令 |
| 本地音乐 | 需手动导入 | 自动扫描目录生成歌单 |
| 多设备管理 | 单音箱 | Web 后台统一管理多个设备 |
| 可玩性 | 固定功能 | 插件、网络电台、主题界面随意折腾 |
一句话总结:原生小爱是"给你什么听什么",XiaoMusic 是"你想听什么,它就去找什么"。
把它搬回家:10分钟三步唱起来
部署方式有好几种,新手我建议直接走 Docker 路线,最省心。
第一步:准备两个目录
一个是音乐存放目录,一个是配置存放目录,分开更干净:
mkdir -p /xiaomusic_music /xiaomusic_conf第二步:写一个 docker-compose.yml
内容照抄下面这份就行:
services: xiaomusic: image: hanxi/xiaomusic container_name: xiaomusic restart: always ports: - 58090:8090 volumes: - /xiaomusic_music:/app/music - /xiaomusic_conf:/app/conf说明两句:58090是你访问后台的端口,可以改;8090是容器内部端口,别动。左边两个目录是主机上的,右边是容器里的,也别动。
第三步:启动并访问
docker compose up -d然后在浏览器打开http://你的设备IP:58090。看到登录界面,就说明跑起来了。
整个流程不超过10分钟。如果你没有 Docker 环境,还有另外两条路:
| 安装方式 | 适合谁 | 一句话上手 |
|---|---|---|
| Docker Compose | 新手、NAS 用户 | 上面这份配置,最省心 |
| Pip 安装 | 已有 Python 环境的开发者 | pip install -U xiaomusic,然后直接xiaomusic |
| 源码运行 | 想改代码的贡献者 | 先git clone https://gitcode.com/GitHub_Trending/xia/xiaomusic,再执行./install_dependencies.sh和pdm install,最后pdm run xiaomusic.py |
开机第一件事:把账号交给它
服务起来后,后台会有一堆配置项。别慌,带*号的才是必填,其余先放着。
你要做的就三件事:
- 填小米账号密码。这是让 XiaoMusic 接管音箱对话的钥匙,填完保存,它会自动拉取你的设备列表。
- 选中你的小爱音箱。在设备列表里挑出家里那台,保存后建议重启一次容器,让它"认住"这个设备。
- 确认音乐目录。默认用
/app/music,你挂载的/xiaomusic_music会对应到这里,不动就行。
如果账号填完却看不到设备,九成是登录被限制了。解决办法很玄学但很有效:先去小米官网 www.mi.com 登录一次(哪怕只做人脸验证),再回米家 App 重新登录,最后重启容器,基本就好了。
从早到晚,它可以这样陪你
配置好之后,XiaoMusic 才算真正"活"过来。我们模拟普通人的一天:
早上 8:00:对小爱说"播放歌单早安电台"。前提是你配置了网络歌单或定时任务,它会准时把新闻和轻音乐送到你耳朵里。
下午:孩子放学回家,说一句"播放歌曲小猪佩奇的故事"。XiaoMusic 会先自动下载这个故事,再放出来。孩子不吵了,你安静了。
晚上:你对它说"播放歌手周杰伦",或者"播放歌单收藏",它就从本地曲库里挑歌。听到喜欢的,一句"加入收藏",下次点播更方便。
睡前:"随机播放""单曲循环""10分钟后关机",模式随意切,助眠音乐放完自动闭嘴。
常用的语音口令我整理成了这张表,照着说就行:
| 你说的话 | 它做的事 |
|---|---|
| 播放歌曲周杰伦晴天 | 搜索并下载,然后播放 |
| 播放歌单收藏 | 播放收藏列表 |
| 播放歌单其他 | 按目录/分类播放 |
| 下一首 / 上一首 | 切歌 |
| 随机播放 / 单曲循环 | 切换播放模式 |
| 加入收藏 / 取消收藏 | 管理收藏 |
| 刷新列表 | 重新扫描音乐库 |
| 10分钟后关机 | 定时停止 |
界面最上方可以切换音箱设备,中间是歌曲列表和进度条,底部是播放控制。家里有多台小爱的话,都能在后台统一管。
想玩得更野?三个进阶玩法
基础玩法够用了,但 XiaoMusic 的潜力远不止点歌。下面三个玩法,属于"知道的人都在偷着乐"系列。
玩法一:导入网络歌单和电台
它可以读 JSON 格式的网络歌单,也能用自带的转换工具把 m3u 电台文件转成歌单格式。别人分享的电台链接,直接贴进配置就能播。喜欢听广播的,这一条就值回票价。
玩法二:定时任务自动播放
在配置里写一行 crontab,就能让音箱准点干活:
"crontab_json": "[{\"expression\":\"0 8 * * *\",\"command\":\"play_music_list_index#早安电台\"},{\"expression\":\"0 22 * * *\",\"command\":\"stop\"}]"每天早上八点自动放"早安电台",晚上十点自动停止。设置一次,天天享受。
玩法三:自定义语音口令
觉得"播放歌曲"前缀不够个性?在配置文件的user_key_word_dict里加一行:
"user_key_word_dict": { "播放今日推荐": "play_music_list_index#今日推荐" }从此你说"播放今日推荐",它就播你指定的列表。甚至可以把指令接到 HTTP 请求上,实现"说一句话触发一个动作"的效果,玩出智能家居联动的感觉。
新手翻车自救手册
装完之后,最常遇到的就是下面这几个坑,提前看一眼,省得抓狂。
语音没反应?先确认后台的"语音口令"开关打开了。这个开关默认是关的,而且注意口令前缀固定是"播放歌曲",说"播放音乐"是没用的。如果你用的是小爱音箱 HD 这种特殊型号,还得去打开"特殊型号获取对话记录"开关,然后重启容器。
日志显示在播放,但没声音?多半是地址配错了。hostname要填和小爱音箱同一个局域网下的地址,别填 localhost,也别填公网 IP。改完端口记得同步改配置,改完重启。
FLAC 放不了?部分型号(比如 L05B、L05C)不支持无损格式。打开"转换为MP3"选项就行,代价是费点 CPU。
下载慢或失败?检查网络,必要时配置代理。想省事的话,把本地已有的音乐文件直接丢进 music 目录,说一句"刷新列表",秒变本地歌单。
最后说两句安全的话:如果这台服务要暴露到公网,务必开启密码登录并设置复杂密码;千万别用绑定了摄像头的米家账号来跑它,账号泄露的后果会很严重。局域网内自用,是最稳妥的姿势。
现在就动手
看完这篇文章,你离"想听什么就有什么"只差一个 Docker 命令的距离。
先去准备两个目录,把 docker-compose.yml 一写,容器一起,账号一填——今晚你就能对小爱说出那句憋了很久的话:"播放那首歌。"
如果遇到问题,记得去后台设置页面底部点"下载日志文件",带着日志去项目的 issue 区提问,能大幅提高被解答的效率。祝你和你的小爱音箱,从此告别"暂不支持播放"。
【免费下载链接】xiaomusic使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考