xiaomusic:让小爱音箱打破QQ音乐樊笼

2024-04-28 21:08:11 290点赞 2183收藏 285评论

生态是个好东西,也不是个好东西。

当它的边界可扩展的时候是个好东西,当它开始有樊笼的时候,它就不是个好东西了。

比如小爱音箱只能QQ音乐的vip,它就不仅不是好东西,它都不是个东西了。

所以,今天我们就来破了它。

请出今天的主角:xiaomusic

作者是这样介绍它的:使用小爱/红米音箱播放音乐,音乐使用 yt-dlp 下载。

支持口令

  • 播放歌曲

  • 播放歌曲+歌名 比如:播放歌曲周杰伦晴天

  • 下一首

  • 单曲循环

  • 全部循环

隐藏玩法: 对小爱同学说播放歌曲小猪佩奇的故事,会播放小猪佩奇的故事。

懂了,就是可以播放音乐,然后音乐文件会下载到本地一直嗨。

开干。

老规矩,先上命令行搭建命令:

docker run -dit --name xiaomusic -e MI_USER=<小米账号> -e MI_PASS=<小米账号密码> -e MI_DID=<设备DID> -e MI_HARDWARE='设备名' -e XIAOMUSIC_HOSTNAME=<宿主机IP> -e XIAOMUSIC_SEARCH='bilisearch:' -p 8090:8090 -v $PWD:/app/music hanxi/xiaomusic

介绍一下环境变量:

  • XIAOMUSIC_SEARCH

  • 配置为 'bilisearch:' 表示歌曲从哔哩哔哩下载;

  • 配置为 'ytsearch:' 表示歌曲从 youtube 下载。

  • XIAOMUSIC_PROXY 用于配置代理,默认为空;

  • 当 XIAOMUSIC_SEARCH 配置为 'ytsearch:' 时在国内需要用到。

  • MI_HARDWARE 是小米音箱的型号,默认为'L07A'

  • 设备型号直接把小爱拿起来看屁股上的型号就知道了

  • 注意端口必须映射为与容器内一致, XIAOMUSIC_HOSTNAME 需要设置为宿主机的 IP 地址,否则小爱无法正常播放。

  • 可以把 /app/music 目录映射到本地,用于保存下载的歌曲。

XIAOMUSIC_PROXY 参数格式参考 yt-dlp 文档说明:

Use the specified HTTP/HTTPS/SOCKS proxy. Toenable SOCKS proxy, specify a proper scheme,e.g. socks5://user:pass@127.0.0.1:1080/.Pass in an empty string (--proxy "") fordirect connection

关于DID部分,可以参考这个这位老哥的说明:

MiService 使用说明

图片图片

如果你像我一样只有一个设备的话,不配置DID也行。

如果想简单点儿,可以用我写的简陋的不行的工具

图片图片

https://www.123pan.com/s/Y4kqVv-uasbv.html提取码:MHAb

下面展示一下群晖container manager下的搭建

先在注册表处搜索并下载镜像

图片图片

镜像下载完成后在映像处找到镜像,运行

图片图片

根据自己的环境进行配置

图片图片图片图片

对外端口设置一个没用被占用的端口

  1. hostname填写宿主机的IP

  2. hardware填写设备型号

  3. search填写搜索方式

  4. did填写设备的device id

  5. user填写小米账号

  6. pass填写小米账号密码

具体参考上面的说明。

配置好之后就可以一路下去运行了。

如果,我是说如果,容器没起来,可以查看日志,看看遇到了哪些奇怪的问题,我们再来解决。

服务启动后的简易控制面板

浏览器进入 http://192.168.x.x:8090

  • ip 是 XIAOMUSIC_HOSTNAME 设置的

  • 8090 是默认端口,使用自己映射的端口

图片图片

测试一下,听到开始播放音乐,同时小爱开始嗨起来了,说明成了。

搞定收工。


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
285评论

  • 精彩
  • 最新
  • 汇报一下,小米小爱音箱PRO,型号是LX06已成功,好用。

    就想知道按使命令行新建的容器,NAS下载到了那里?找不到。

    再就是NAS上有一堆自己下的音乐,这个可以挂载下来播放吗?

    校验提示文案

    提交
    如果是挂载了music目录的话,下载的文件在music目录里。我没有试过直接挂载本地的文件给容器进行播放,理论上是可以将本地的文件挂载进去来播放的。

    校验提示文案

    提交
    极空间能不能部署?求教程

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 学不会,给大佬点赞

    校验提示文案

    提交
    不难搞

    校验提示文案

    提交
    收起所有回复
  • 本来不打算充绿钻的,看了大佬的教程,果断充个绿钻。没办法,手残就活该被割 [尴尬]

    校验提示文案

    提交
    血亏一个绿钻……

    校验提示文案

    提交
    收起所有回复
  • 大神有没有手把手的教程?

    校验提示文案

    提交
    是发财的小手吗?关键我只能依据我自己的环境来写不是。
    你说说看你的使用环境,也许会搭建。

    校验提示文案

    提交
    只有一个设备,可以不用配置

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 这个看不懂呢

    校验提示文案

    提交
    简单点儿就是自己搭了一个服务,接管了原本的音乐播放功能

    校验提示文案

    提交
    收起所有回复
  • 天猫精灵有救吗?

    校验提示文案

    提交
    emm……我没有精灵猫,还没研究过

    校验提示文案

    提交
    天猫精灵一直广告

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • 小爱怎么和电脑连接写你的程序呢?蓝牙链接?还是用手机写程序?

    校验提示文案

    提交
    这是用软路由,在小爱同学上网进出出家门的时候把内容改了。

    校验提示文案

    提交
    这是在你的服务器或nas上搭建了一个docker服务,接管小爱音箱原本的一些功能。

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 就是需要软路由?然后拦截小爱的播放请求?

    校验提示文案

    提交
    不是。利用docker或linux搭建服务来接管小爱的音乐播放功能。

    校验提示文案

    提交
    收起所有回复
  • 存本地?是存音箱里面吗

    校验提示文案

    提交
    存在docker挂载的目录里

    校验提示文案

    提交
    2.9充的月绿钻会员表示还能坚持坚持 [喜极而泣] 充值到了27年,现在中信不搞活动了难受。

    校验提示文案

    提交
    收起所有回复
  • 小米音响能开ssh吗?能装个Spotify就舒服了 [高兴]

    校验提示文案

    提交
    去看看
    看看这里

    校验提示文案

    提交
    收起所有回复
  • 京鱼座能搞吗

    校验提示文案

    提交
    应该不支持

    校验提示文案

    提交
    斐讯r1能搞么

    校验提示文案

    提交
    收起所有回复
  • 改哔哩哔哩听歌需要会员吗

    校验提示文案

    提交
    如果还要的话,意义不存在了

    校验提示文案

    提交
    收到,今晚回去试试 [赞一个]

    校验提示文案

    提交
    收起所有回复
  • 有没可能让小爱播放NAS里面某文件夹的歌曲呢?

    校验提示文案

    提交
    docker有挂载目录,理论上是可以把现有的音乐文件挂载上去播放

    校验提示文案

    提交
    如果一个目录下面有很多个不同故事的文件夹,文件夹下是很多个故事音频,怎么语音识别呢?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 小爱触屏音箱,播放歌曲还是播放试听版的,但是会自动下载bilibili版本的歌曲到NAS…怎么解决?

    校验提示文案

    提交
    触屏版现在还没搞定,建议先不要用了。不过自动下载也没事儿吧,下载目录挂载到本地了,nas的空间应该不至于这么快占满

    校验提示文案

    提交
    试了下小爱音箱一代可以用

    校验提示文案

    提交
    收起所有回复
  • 最重要的没介绍,这个东西搭在哪,是怎么影响到我的音箱,看的云里雾里

    校验提示文案

    提交
    在同一个局域网内,支持docker的设备搭建,或者也可以直接使用linux环境搭建,只能搭建设备和小爱能通过ip进行访问即可。
    使用直接通过常规的语音指令就行。

    校验提示文案

    提交
    不在一个局域网应该也可以

    校验提示文案

    提交
    收起所有回复
  • 播放开始了怎么停止 [皱眉] 没找到暂停按钮

    校验提示文案

    提交
    语音口令试试

    校验提示文案

    提交
    可以的,试了下,只能喊小爱暂停

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 不懂怎么搞。。。有没有视频教程?

    校验提示文案

    提交
    会玩儿docker的话,不难弄

    校验提示文案

    提交
    会docker,但是不会弄命令行

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我的小爱mini可以么

    校验提示文案

    提交
    可以的

    校验提示文案

    提交
    收起所有回复
  • 小爱触屏音箱用不了

    校验提示文案

    提交
    触屏版目前还不支持^_^

    校验提示文案

    提交
    收起所有回复
  • 有点东西,但我看不懂

    校验提示文案

    提交
    玩着玩着就会了

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
2.1K
扫一下,分享更方便,购买更轻松