离线语音控制:不联网、不注册、不上云

我们有一部分灯具可以在完全没有网络连接的情况下听懂口令——识别是在距离 LED 几厘米的一颗芯片上完成的。 它和"叫智能音箱开灯"是两种不同的产品,而且差别是双向的。

两种语音,差别不在"聪不聪明"

云端语音是大多数人说的语音控制。你对着音箱或手机说话,音频被送到服务器, 服务器判断你的意思,再把指令发回给灯。词汇是开放的,灯是别人生态里的一个设备, 整条链路需要一个账号和一条能用的互联网连接。

离线语音把一个小型语音识别引擎放进灯具本身。有一个唤醒词和一组固定指令, 两者都在生产时烧录进去。没有账号、不需要与助手配对、没有音频离开这个房间。 它不是云端方案的缩水版,而是另一种设计,擅长的事情也不一样。

离线真正更强的三件事

  1. 它立刻回应。识别就发生在灯所在的位置,没有到服务器的往返。 从说完那句话到灯发生变化的间隔,短到会被感知为"即时"——云端语音通常做不到。
  2. 网络断了它照常工作。路由器重启、宽带掉线、某个人的手机上账号退出了—— 这些都传不到灯这里。停电恢复的那一刻是你最想用一句话把灯打开的时候, 而那恰恰是云端助手最不可能响应的时候。
  3. 没有任何东西离开房间。不存在一路上传的麦克风音频流,因为它无处可去。 对卧室、儿童房,或者单纯不希望家里有一台始终联网在听的设备的人来说, 这一条就是全部理由,不需要别的。

它放弃了什么

  1. 指令集是固定的。你没法自创一句话。有一张清单,清单在生产时就定了, 用这个产品意味着去记它,而不是反过来。多数指令集在十几到二十几条——开、关、调亮、调暗、颜色、几个场景。
  2. 它只知道自己。"全部关掉"需要有个东西知道"全部"指的是什么。 一颗装在某盏灯里的离线芯片根本不知道别的灯存在。全屋逻辑是助手或网关的活, 这是离线语音在结构上做不到的事。
  3. 唤醒词不归你改。它通常可以在定产品时定制——那是制造环节的选项,外销机型很常见—— 但买灯的人改不了。
两者并不互斥

一盏灯可以带离线语音负责快速的本地指令,同时仍然能被 App 或网关接管处理其他事情。 有这个选项时通常就是正确答案:不用网络,一句"开灯"立刻响应;而"日落时进入某个场景"这类逻辑, 放在真正能承载它的地方。

误唤醒比词汇量重要得多

比较离线语音模块时,大家读的规格是指令条数,而真正决定你喜不喜欢这个产品的规格是误唤醒率。 一个会在看电视新闻时自己醒来的模块,比一个只听得懂十句而不是二十句的模块难相处得多。

描述这件事的是两个数字,正经的供应商两个都有:误接受率——没人叫它的时候它响应的频率; 以及误拒绝率——你正经下了指令它却装作没听见的频率。这两个数字互相拉扯。 把模块调得更不容易被误触发,也就同时调得更不容易被有意触发。有用的问题是: 在有背景噪声的条件下这两个数字是多少——安静房间里的数据永远好看。

模块装在哪儿,和里面是哪颗芯片同样重要。麦克风藏在灯罩后面,听到的是一个闷掉的房间; 朝着天花板,听到的就是天花板。装在高处、房间又都是硬表面时,反射声到得太晚,会把一句话糊掉。 这些在数据手册上都看不到——所以一个在桌上识别很好的灯具,装上去之后可能让人失望, 也所以值得按它真正会待的高度先测一个。

语种是模型,不是设置项

离线识别是按语种分的,这一点跟云端不同。每个语种是一个单独的模型编译进芯片, 所以一个既懂英语又懂普通话的产品是带了两个模型,再加第三个是制造决策而不是菜单项。 买家会注意到的一个怪现象背后就是这条约束:同一款灯具卖到两个市场,指令集可能不一样, 因为那两套指令集是分别做的。

另一个维度是模型大小。更大的模型在口音和噪声下识别更稳,占用的硅片面积也更多; 更小的模型便宜,也更不宽容。对只卖一个市场、口音单一的产品,小模型往往是正确的工程选择; 对会遇到没人测试过的口音的外销产品,通常不是——而一个同时提供两种规格、 并且能说清你询价的那颗用的是哪一种的供应商,其实是在告诉你:这产品其余部分的规格也定得同样仔细。

怎么选

  1. 如果灯需要在停电恢复时、在没有可靠网络的房间里、或者在完全没有云端设备的环境下工作 ——离线,这个决定已经做完了。
  2. 如果价值在于跨设备的逻辑、定时,或者与其他品牌的联动 ——云端或网关。离线语音做不到,词汇量再大也改变不了。
  3. 如果你希望三四句日常用语得到即时响应,其余的慢一点无所谓 ——两者都要,前提是灯具支持。多数人最满意的是这个组合。
  4. 无论选哪种,都要在真实房间里、按实际安装高度、开着电视测一遍。 市面上每一个语音产品,在安静的展厅里表现都很好。

我们哪些灯具带离线语音、带的那些该配哪个 App,见 我需要哪款 App