1
laylou 196 天前
如何安装?这些命令是在那些地方执行?
在 Mac 上执行还是找一个在线的端口,在小米上面执行 |
3
laylou 196 天前
算是劫持了小米的流量到 linux 机子上吗?
|
4
hanxiV2EX OP |
5
tyhunter 195 天前
666 要是能封装成 Docker 挂在 NAS 跑就好了
|
9
hanxiV2EX OP |
10
ShineyWang 195 天前 via Android
一直有这样的需求
想要用小爱直接播放我的 Nas 里面的音乐,可能是 webdav 或者 smb 的路径 这样能做吗? |
11
zouzou0208 195 天前
@ShineyWang 理论上都可以的。。。
|
12
hanxiV2EX OP @ShineyWang 现在只能是本地路径,你可以把路径挂载进去试试,有问题可以提 issue 吧。
|
13
icySoda 194 天前 via iPhone
请假一下,为什么要用轮询的方式呢?我看小爱音箱官方是支持开发第三方技能的,是有什么限制吗?
|
14
icySoda 194 天前 via iPhone
s/请假/请教
|
16
join 194 天前 via iPhone
小爱音箱可以破解吗?我实在不相信国产的可联网设备。
|
17
join 194 天前
@hanxiV2EX 不好意思, 没仔细看你说的原理。现在我大致明白了。这些看着还挺好玩的。
我的笔记本就是 linux 的,但用做局域网“电脑”好像不太合适,需要 24 小时运行。楼主你用的是啥设备?软路由? 另外小爱音箱买哪个比较好? |
18
join 194 天前
我还有个担心就是,我如果说英语不知道它能不能识别出来并发给 GPT ?
|
19
hanxiV2EX OP @join 一般的 NAS 都带了 docker 功能,适合运行这个东西。有软路由的话也可以跑在软路由上。英语不知道能不能识别,如果小爱同学可以识别英语的话,xiaogpt 那个工具就可以做到,原理只是拉起小爱同学的对话记录,对话记录米家 app 上也能看到的。
|
20
JarvenI 171 天前
我试了一下,用的小爱音箱 pro ,播放音乐会在几分钟的延迟后播放,然后音乐播放时间只能播放 1 分钟左右,不是你这个项目的问题,是 api 的问题,我用 miservice 的那个 cli 命令播放音乐也是这样。
|
27
deerpine 88 天前 via Android
学习了
|
28
milala 88 天前
只能播放本地音乐吗
弄几个和在线的音乐 |
29
hanxiV2EX OP @milala 本地音乐不存在时会自动搜索下载再播放的,我试过播放故事都行。国内使用需要配置好代理才能下载歌曲,XIAOMUSIC_PROXY 用于配置代理,默认为空,yt-dlp 工具下载歌曲会用到。
|
30
a8500830 87 天前
小爱都有了,小度也不远了吧
|
32
xuanyuanaosheng 87 天前
嗯不错
|
33
xianzheng 87 天前
下载源是哪里,可以指定吗?
|
35
qweqqwe 87 天前
可以同时两个音箱一起播放吗?
|
37
hanxiV2EX OP @xianzheng 我测试了用 BiliBiliSearch ,但是有 bug ,等这个 bug 解决之后我再考虑支持换下载源吧。
https://github.com/yt-dlp/yt-dlp/issues/5083 |
38
huangmingyou 85 天前
学习了一圈,有几个疑问,获取对话记录是通过官方 api 还是别的方式,docker 播放的音频是通过音频线还是流媒体发给音箱,获取设备 did 是不是需要劫持流量抓包?
|
39
hanxiV2EX OP @huangmingyou 获取对话记录是用的 http 接口,应该是爬的手机上请求对话记录的接口。docker 播放是提供 http url 地址给小爱播放。
原理看这个文章就行 https://github.com/yihong0618/gitblog/issues/258 主要是这个库搞定的 https://github.com/yihong0618/MiService |
42
huangmingyou 85 天前 1
我用 docker 部署起来了,看起来是通过小米官方的 API 实现交互的。
|
43
huangmingyou 85 天前
播放 music 的 ui 点了按钮,执行了,但是界面上没有反馈
|
44
hanxiV2EX OP @huangmingyou 是缺少了点击反馈效果,后期优化一下。
|
45
yautou 85 天前 1
好项目,支持👍
|
46
huangmingyou 85 天前
我用语音说“播放歌曲三年二班”, 直接播放云音乐的试听版本了呢?
|
47
hanxiV2EX OP @huangmingyou 可以看看日志,估计是小米账号没登陆成功。另外 ui 我优化了一下,你可以更新看看效果。
|
48
hanxiV2EX OP @xianzheng 最新版本已经支持了更换歌曲下载源,XIAOMUSIC_SEARCH 参数配置为 "bilisearch:" 搜索下载歌曲,但是 yt-dlp 项目有个 bug 还没解决,目前还下载不了。https://github.com/yt-dlp/yt-dlp/issues/5083 等这个 bug 解决了就能用 BiliBiliSearch 了
|
49
huangmingyou 84 天前
|
50
hanxiV2EX OP @huangmingyou 获取历史记录的代码是这个 https://github.com/hanxi/xiaomusic/blob/main/xiaomusic/xiaomusic.py#L169
你可以加打印调试看看是哪里有问题,也可能是这个问题吧。 https://github.com/yihong0618/MiService/issues/2 用网页控制是不走语音历史记录的。 |
51
hanxiV2EX OP @huangmingyou 这些打印可以打开注释,然后用 --verbose 参数打开调试日志看看。
https://github.com/hanxi/xiaomusic/blob/main/xiaomusic/xiaomusic.py#L88 |
52
hanxiV2EX OP @xianzheng 下载源搞定哔哩哔哩了,国内可以不用代理了。
version: '3' services: xiaomusic: image: hanxi/xiaomusic container_name: xiaomusic restart: unless-stopped ports: - 8090:8090 volumes: - ./music:/app/music environment: MI_USER: '小米账号' MI_PASS: '小米密码' MI_DID: 00000 MI_HARDWARE: 'L07A' XIAOMUSIC_SEARCH: 'bilisearch:' XIAOMUSIC_HOSTNAME: '192.168.2.5' |
53
wongtk 84 天前 via iPhone 1
这个可以通过本地和搜索下载跳过试听了呀
|
54
huangmingyou 83 天前
@hanxiV2EX docker 在哪里加这个 verbose,我对 python 不熟悉。
|
55
hanxiV2EX OP @huangmingyou docker run -it -e MI_USER=<your-xiaomi-account> -e MI_PASS=<your-xiaomi-password> -e MI_DID=<your-xiaomi-speaker-mid> -e MI_HARDWARE='L07A' -e XIAOMUSIC_HOSTNAME=192.168.2.5 -e XIAOMUSIC_SEARCH='bilisearch:' -p 8090:8090 -v ./music:/app/music hanxi/xiaomusic:main --entrypoint '.venv/bin/python3 xiaomusic.py --verbose'
你试试这样能不能行,docker 用前台模式启动,用 main 分支的镜像,然后修改 entrypoint 传参数进去。 |
56
huangmingyou 83 天前
@hanxiV2EX 我调试了,拉列表的时候,disconnect,我用 curl 测试,发现 http 协议可以,https 协议卡住。
|
57
hanxiV2EX OP |
58
huangmingyou 83 天前
@hanxiV2EX 不是,就是纯粹的 https 不能连,我在 docker 里面,用 curl https://www.baidu.com 就卡住,用 curl http:www.baidu.com 就正常。我测试用 ubuntu:22.04 的 docker 是可以 curl https 的。
|
59
huangmingyou 83 天前
host 是可以 curl https 的,另外 docker 里面我看是有 ca-certificates 包的。
|
60
hanxiV2EX OP @huangmingyou 那你这个应该是系统问题了,我的系统也是 ubuntu 2204 的
|
61
huangmingyou 82 天前
用 hanxi/xiaomusic:latest 创建的容器里面 curl https://www.baidu.com 会卡住,在 ubuntu:22.04 创建的容器里面正常。
|
62
huangmingyou 82 天前
容器 curl 回卡住,wgett 没问题,这可能是一个 bug . 我重新注册了账号,终于正常工作了。
|
63
huangmingyou 82 天前
能否增加一个播放古诗词的功能。
|
64
hanxiV2EX OP @huangmingyou 应该是已经支持的,你对小爱同学说'播放歌曲诗歌朗诵李白静夜思'试试?虽然有点奇怪,应该能搜到差不多对应的音频的。
|
65
zgl263885 81 天前 via iPhone
真的很棒!
|
66
justincnn 80 天前
有可能用 apple music 的资源么?
|
67
cucucun666 74 天前
小爱音箱 L05C 设备无法正常播放音乐,已测试 micli 5-4 明天天气 0 能正常提示天气情况,可以正常发声。
|
68
hanxiV2EX OP @cucucun666 试试用命令模式 --use_command 参数
|
69
busy0769 46 天前
大佬,请教一下,如果家里有多个小爱音箱的话,要怎么使用您的项目?是给每个音箱建立一个 docker 吗?
另外,可否加个选项,只搜索本地文件夹的音乐? |
71
wq2020wdm 28 天前 via Android
我成功播放了本地音乐,但口令播放本地有点问题,想请教下:1. 因为我是自建了音乐库,所以是文件夹嵌套的,比如/Music/华语音乐/周杰伦/周杰伦-七里香/周杰伦-七里香.flac ,这样的嵌套是否支持搜索? 2. 我只映射了七里香专辑后,七里香歌曲的命名是 1.0.2 七里香.flac ,我口令是播放歌曲七里香,还是默认下载了,下载好了,后面再说播放歌曲七里香是直接本地了,请问下,这个歌曲命名有规范吗?
|
72
wq2020wdm 28 天前 via Android
试验了一下,文件夹嵌套没问题,但是搜索好像有点问题,歌曲叫周杰伦-七里香.flac ,我试验了播放歌曲七里香,还有播放歌曲周杰伦七里香,都会开始下载,这样,是只能重命名歌曲了吗
|
76
superhxl 26 天前
在树莓派 4B 上,安装好了。目前有两个问题:
1 )搜索似乎有问题,下载下来的不是我要的歌,包括示例“播放歌曲周杰伦晴天”。用过 ytsearch 和 bilisearch ,都不行; 2 )我访问不了操控面板,提示“拒绝访问”。 |