让小爱同学登上云村

前天 LWL 氪了一台垂涎很久了的小米小爱音箱 Mini,现在买还优惠十块只要 ¥159 快去买啊~(Mi Boy 打死),提回家后才发现这音箱居然没和云村合作???

个人喜欢的挺多歌都是同人角色曲一类的,好像除了云村和 5sing 也没什么别的地方能找到了。不支持云村显然忍不了,正巧之前酷安上有人拿了(我的?)一言 API 去接入小爱,让我记下来了这音箱还是有个开放平台的,然后我本来就有一个音乐搜索项目在跑着……(不去写个接入我都感觉亏

万事俱备只欠东风,说干就干!

接入开放平台

小爱开放平台,顾名思义也就是提供给开发者做高级技能的地方啦!(说起来小米这次感觉也是投了血本要扩大小爱的技能范围,这开放平台甚至能建免费云主机用……)

要在开放平台上创建应用的话需要上传手持身份证,给个差评,虽然最终还是传了(真香)。审核通过以后就可以开始建立应用了。

技能信息


除了技能名称和唤醒词,其他的项目如果不需要发布的话可以瞎填,没啥影响。不过这里不得不吐槽一下这糟糕的唤醒词功能,也不知道是不是我用法有误(文档反正是没写清楚),带意图的唤醒词实际用起来完全无效,于是整个语音请求一下子多了一轮对话,效率降低不少。

交互模型

交互模型这块的话,由于并没有什么公开的歌名/作者名数据库,所以词表可以忽略掉,主要是设置意图。

槽位

首先要添加意图,接着就可以开始添加槽位了。由于云村的搜索还挺智能的,所以只需要把用户提到涉及歌曲信息的文字全部选出来一股脑丢给搜索就行,省去了一部分麻烦。

虽然追问和回复似乎并没有什么用,但是在槽位必选的情况下一定要填……这个比较无所谓,开心就好(

语料

说白了就是猜用户会用什么语言来尝试调用这个应用,自用的话想想自己常说的就行

值得一提的是这个页面的底部有一个模糊匹配选项,虽然好像没什么用但是也没有负面影响,可以打开试试

配置信息

前面提到了小米这次免费给开云主机用,其实就是为这里的函数计算功能服务的。整体用下来应该是和 SAE 差不多一个性质的东西。

咱这次的代码也就跑在函数计算上面,所以按引导申请一下计算资源就行。注意在申请的最后一步会要求选择触发器,需要建立一个 SkillTrigger,并在创建完成后拿到他的 ID 填回开放平台。

函数代码放在后文了(

设备调测

全部配置好以后就可以在这里进行测试了,虽然这个测试真的很难用,出错了连个实际错误信息都没有……

函数代码

不废话直接放了:Github,记得给个 Star(
实质上就是一个类似中间件的东西吧,连接小爱的语音识别和我的 Music API (这 API 一直是半公开状态因此并没有文档_(:з」∠)_

填到函数计算后台的函数代码里就好~

使用条款

对于开发者

  • 禁止不合理利用源码内的 Music API,例如作为违法用途,高频率调用等
  • 禁止商业使用

对于音箱用户

虽然感觉应该过不了审但是如果过了的话……

  • 居然过审了,爱怎么用怎么用吧(
  • 我也不知道这些音乐是哪来的啊,完全不懂,好像都是随随便便就读到了,云村好像听着挺耳熟的不过我也不知道是哪家公司呢,总之能用就好吧(

其实呢,本来是不打算写这篇文章的……毕竟感觉这种作大死的东西拿出来摆着不知道什么时候就收到律师函了呢(疯狂毒奶
不过确实想填一下后台的使用条款和隐私政策所以还是写了(是的你现在看到的这条和后面那条才是本文最关键的地方了)

隐私策略

如果小爱的逻辑比较糟糕的话有可能会被 NGINX 记录到设备 IP,其他的信息则完全不会被记录。

最后

感觉大概应该是过不了审,所以发出来也还行吧……如果你碰巧有同样需求的话可以尝试自己搭建一个,然后让小爱音箱进入开发者模式就能自用了。
Enjoy music 🙂

- EOF -

23 条评论

昵称
  1. shyling

    咦,前段时间也想做类似的来着

    1. lwl12

      @shyling 你博客怎么空了(

    2. shyling

      @lwl12 懒得折腾ww

  2. Kay

    Python的话 我记得GitHub上有一个叫NetEase-MusicBox的项目OωO

  3. MikuSama

    HomePod:Siri真是个垃圾facial
    天猫精灵只对接了自己的虾米,突然发现这些智能音箱都有开放平台,nicefacial

  4. pomoke

    不太喜欢智能音箱facial

  5. freejishu

    木有小爱的只能默默路过了qaq

  6. Axton

    前两天别人刚送了我台小米音箱,还在纠结于听不了云村这头就发文章了(•̀ω•́ 」∠)

  7. DIYgod

    居然只支持 python,node 不服

    1. lwl12

      @DIYgod node 的话大概要走 HTTPS 方式自己架服务器了(

    2. DIYgod

      @lwl12 有接口文档么?貌似没看到

    3. lwl12

      @DIYgod 在配置信息那节可以选 HTTPS 请求远程,除了需要自己做签名验证其他的应该和函数计算一样

  8. 惶心

    LWL 的 网易云 API 貌似只能解析 128kbps 的啊~是用了 https://music.163.com/song/media/outer/url?id={id}.mp3 这个接口吗

    1. lwl12

      @惶心 不是

    2. 惶心
  9. Jerry Qu

    虽然我的小爱变成了闹钟,虽然为了胖伦从云村换到了 QQ,还是期待过审试用一把。

    1. lwl12

      @Jerry Qu 胖伦 2333

  10. 小白-白

    facial可是没有钱

  11. Otstar Lin

    沉迷耳机无法自拔。(逃,OωO

  12. Herry001

    云村好评!(瞄了一眼吃灰的叮咚音响

  13. 黎明余光

    我应该是第一个 star 的,虽然我并没有小爱音箱 233 (:3」∠)

    1. lwl12

      @黎明余光 立即购买(facial

    2. 小霖

      @lwl12 立 即 白 嫖facial