给小爱音箱做一个开源固件

302 天前
 yadam

最近家里小孩儿喜欢问很多问题, 想着家里有一个小爱音箱 mini, 是不是能让音箱帮忙使用 ChatGPT 回答(音箱现有的回答不是很满意)

搜了下果然有一个成熟的方案 xiaogpt, 看了下思路很棒, 不过因为需要轮训服务器这个点, 我有点儿担心把自己的账号搞挂了, 就萌生了做一个更直接方案的想法

一开始什么思路都没有, 找 weibo 上关注很久的一个软硬件都厉害的大佬, 发私信想求助一些关键词和思路, 不过可能对方没有看私信的习惯, 一直没有回复.

最近两周各种查资料, 终于有了一些眉目, 记录了一下过程分享出来, 希望能帮到像我这样有想法但不知道怎么开始的同学 (自个写的程序在音箱上跑起来的时候是真的开心)

repo: https://github.com/jialeicui/open-lx01

项目刚开始, 只做到了在音箱上跑自己程序的程度, 我认为未来应该是可以做成一个完全自主控制的音箱

项目中可能会有不少错误的地方, 各位如果发现希望能指导一二, 也防止错误的文章误导别人, 感谢!

4113 次点击
所在节点    程序员
29 条回复
zhangpulin
302 天前
666
ashong
302 天前
👍
SayHelloHi
302 天前
这个 有点难度

话说 有可以配置进入后台进行配置的 AI 音箱嘛
zzbd
302 天前
能适配小爱音箱 pro 嘛
binsys
302 天前
有硬件安全 boot ,除非出现硬件级 BUG ,或者官方泄露签名,否则跑不起来。
研究下看能不能绕过安全 boot 吧。
yadam
302 天前
查了下 pro ,用的 CPU 确实是支持 security boot 的,估计够呛 https://www.52audio.com/archives/38303.html
yadam
302 天前
@SayHelloHi 我大概把路趟了一下, 应该问题不大, 测试用 porcupine 跑关键词唤醒有点儿问题, 但问题应该是出在我的对 ALSA 的配置上

因为 porcupine 只支持单 channel ,音箱上的 pcm 又只支持配置成 8 channel ,我就在 ALSA 里加了一个 slave ,把另外 7 个通道都扔了,但不知道啥原因,用 arecord 也是时好时坏,好的时候 porcupine 也是能唤醒的

唤醒搞定了之后剩下都是服务器端的活儿,这个我在行

至于其他 AI 音箱我也不熟悉,猜测应该不会有支持后台配置的,毕竟音箱不是卖硬件挣钱,要是随便配置了,厂商没的赚。
yadam
302 天前
忘记 at 了, #6

@zzbd
@binsys
0xHubNet
301 天前
小米的锁了,比较麻烦,你看下这个 https://docs.folotoy.com/docs/installation/docker
tianxin
301 天前
京东音箱 mini2 已经停服了,希望能有第三方固件复活😂
kneo
301 天前
问个有点幼稚的问题:直接刷普通的安卓系统不行吗?
cat9life
301 天前
持续关注 顶👍
Rorysky
301 天前
很有前景的项目

因为小爱音箱出货量挺大的,要是支持自定义,介入 home assistant 就牛逼了
yadam
301 天前
@0xHubNet #9 好项目, 看起来做的比我这个完善很多, 要是开源的就更好了
yadam
301 天前
@tianxin #10 看了下, 有可能可以搞

它用的是联发科的 MT8516, 搜了下是支持安全启动的, 可能难搞一些
https://www.52audio.com/archives/2789.html

不过看这个 issue 的样子可能是可以 disable 掉的 https://github.com/MTK-bypass/bypass_utility/issues/29

有时间我咸鱼搞一个, 简单搜了下可能十几块钱就可以买一个, 还有 aux 口可以外接别的音箱, 挺值的
yadam
301 天前
@kneo #11 我对安卓和嵌入式都不太懂, 猜测不行. 这个音箱留给 rootfs 的就 32M 大小, 安卓不知道能不能搞到这么小.

就算能搞到, 感觉也得是精简很多驱动和代码? 到最后感觉就精简成了现在官方固件的样子: firmware + kernel + 一些 deamon
yadam
301 天前
@Rorysky #13 经过楼上 @binsys 老哥的提醒, 感觉是带安全启动的都不好搞, 看起来可能这种方案只适用于低端音箱了 😂
JohnJackson
301 天前
我想知道 OP 说的微博大佬是哪个
yadam
301 天前
@JohnJackson #18 抱歉请忽略微博大佬吧 (提这个事情主要是想表达梳理文档的初衷, 万一发展成挂人就不是我本意了 🙏
yadam
301 天前
@zzbd #4 看到有人给 pro 刷固件, 所以未来应该是可以搞的
https://bbs.hassbian.com/thread-8754-1-1.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011282

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX