现在各大手机厂商的深度定制 Android 基本上都配备了智能语音助手,他们可以回应你的话语、回答你的问题、响应你的指令,如果它有什么不会做的,你还可以手把手教它做,它会学习下你教的指令,在下一次接收到该指令时执行你所指定的操作。
语音助手的存在极大地提升了我们使用手机的使用效率,很多复杂的指令在语音交互下被缩短为了非常简单的一句话。例如设置闹钟,如果我们要手动设置闹钟,那我们经历非常多的步骤才能将闹钟设置好,而是用语音,我们只需要一句简单的「明早七点半叫醒我」就行了。
随着语音助手的不断进化,语音助手的功能也变得越来越丰富多样,尤其是 AI 技术应用越来越广泛的今天,语音助手的功能不单单局限于帮你查天气、设闹钟,它可以帮你做各种各样的查询,例如查百科、查单词、查快递、查美食等等,随着接入的应用越来越多,语音助手的功能也越来越强大。
在生活方面语音助手也可以逐渐成为你的助力,你可以让它帮你挑选音乐,让它在合适的时间提醒你要还没有做的事情,让它翻译你听不懂的语言。
有的语音助手甚至还可以在你寂寞的时候陪你聊上两句,消解你的寂寞。
然而,在 Google Assistant 都可以直接模拟人帮你打电话的时候,Siri 还显得傻傻的,每天都是一副智商不够用的样子,这就让人异常头疼了。
如果你有什么想教给 Siri 的,你直接和 Siri 说「嘿 Siri,教你怎么打开课表」,Siri 会表示它并不懂这个操作。
实际上,你是可以教 Siri 做一些复杂任务的,只不过这个功能并没有被内置在 iOS 中,你需要额外在 App Store 下载一款名为「捷径」的应用才行。
「捷径」是随着 iOS 12 正式版的发布走到普通用户面前的,它给有创造力的用户提供了一个能够高效使用 iOS 的解决方案。
「捷径」在系统内显示的名称是「快捷指令」,这个 App 允许你创建和系统紧密联系在一起的快捷指令,而每一条快捷指令可以指令一系列的任务。
实际上每一条快捷指令就是一个「迷你程序」,你需要通过「编程」的方式来设置快捷指令要执行一些什么。每一条快捷指令都是流式执行的,它会从上到下依次执行该快捷指令下的每一条指令,在执行过程中你可以在指令与指令之间传递一些信息。
由于快捷指令中指令的执行和信息的传递都是「流动的」,所以它最早实际上被称为「Workflow」,在 iOS 12 中呈现的是 Workflow 2.0,也就是我们现在所看到的「捷径」。
「捷径」和 Siri 是深度结合的,你可以给每一个捷径设定一个快捷触发句,你只需要对 Siri 说出它,那么这个指令就会自动执行,通过「捷径」,你就可以教 Siri 做不少的事情,经过精良的配置,你甚至可以让你的 iPhone 变得和苹锤子科技的 TNT 有那么几分相似。
举个最简单的例子,比如在学校中,笔者想要洗热水澡是需要通过 App 计费的,为了快速开启这个 App,笔者创建了一个「洗澡」快捷指令。
这个快捷指令可以直接添加到 Siri,笔者将执行它的触发语句设置成了「我要洗澡」,那么以后只需要对 Siri 说「嘿 Siri,我要洗澡」,那么 Siri 就会自动帮我执行这个快捷指令,而后快捷指令打开指定的 App。
这其实和 Android App 中你教语音助手指定某个指令打开某个应用是一样的。遗憾的是单个快捷指令不支持绑定多条语音指令,这使得如果你说的是「我要洗澡了」,那么 Siri 就不会执行这个快捷命令了,这是它比较傻的一点。
如果你不嫌麻烦,你可以创建多个快捷指令绑定多条语音指令,不过我们没有必要这么做,毕竟我们还是可以有意识地控制自己说出正确的指令。
Android 上我们能教语音助手做的任务都是比较低级的,语音助手只会模仿我们教的动作,仅此而已,而「捷径」则不同,它最大的亮点是「可编程指令」。
前文笔者已经提到过,每一条快捷指令实际上是一个迷你程序,创建一条快捷指令的方式实际上就很类似于图形化的「积木编程」。
接下来笔者给各位展示一个更复杂一点点的快捷指令:
这个快捷指令其实很简单明了,它通过听写文本获得一段文本,然后传递到 QQ,QQ 会自动将这段文本放到发表说说的框里面,通过这样一个快捷指令,你可以直接通过 Siri 和听写快速发说说。
你只需要对 Siri 说「嘿 Siri,我要发一条说说」,然后这个快捷指令执行,进入听写,接下来你只需要说出说说的内容,系统就会自动跳转到发说说的页面,而内容已经填写好了。
当然,这也只是它的简单操作而已,如果你愿意花不少时间去编写一个更加复杂的快捷指令,实际上你可以创建出一个和锤子科技发布会演示 TNT 时类似的语音输入数字然后求和的快捷指令。
这里笔者给各位举一个简单一些的例子 —— 生成随机数,这其实在我们生活中时常会用到。
在快捷指令中,我们可以设定变量,并进行一些简单的计算操作,上面这一段流程实际上就相当于下面这一段伪程序:
var min = audio_input();
var max = audio_input();
var r = random(min, max);
print(r);
快捷指令的执行和这段伪程序本质上是没有差别的,也就是说我们创建这个快捷指令实际上也就是编写了一个程序。
这样的可编程性使得我们可以创造各种各样的快捷指令,系统提供给我们的这些预置的指令要么是语句,要么就是我们可以调用的接口了。
程序基础的条件判断、循环之类的操作苹果都有在「捷径」中提供,实际上只要你愿意投入足够多的时间和精力,你可以用捷径创造出一个非常复杂的东西出来,由于苹果还提供了输入、访问互联网 URL 等人机交互、网络交互指令,一个完善、复杂的快捷指令甚至可以当一个微型的 App 来使用。
当然,你可能会问,我的创造力不够强,也没有那么多时间和精力来研究怎么创造快捷指令,有没有什么好的现成的指令我可以下载直接用的呢?
答案是,有。
少数派就建立了一个「Shortcuts Gallery」,里面是其他中文作者做好分享出来的一些快捷指令,如果里面有你喜欢的,你只需要用你的 iOS 设备下载它,它就会加载到你的「捷径」内。
里面的一些东西还是挺有意思的,比如说油价查询、套壳截图、拷贝为 Markdown、彩票开奖结果、查看网页源代码等等,笔者个人感觉这些已经不是快捷指令了,而是系统插件。
其中还有一个非常有意思的东西 —— 闪念胶囊,实际上闪念胶囊也就是在听写的时候同时记录语音,使得最终生成的备忘同时有语音和文字这样。实际上依赖「捷径」和 iOS 自带的备忘录,我们可以很轻松地实现类似地功能。
像笔者这样的 iOS 新手对捷径的了解还不是很深刻,但是硬核 iOS 玩家应该早就将其玩出各种花样了。当然,在 iOS 上确实也存在一些更强力的辅助工具,例如 JSBox,它允许你用 JavaScript 在 iOS 上编写可直接使用的小程序,不过由于它是个人开发的,所以它和系统之间就缺乏「捷径」这样的紧密结合。
从搞机的角度上来说,对比 Android,iOS 确实没什么自由度,是一个很死板的系统,但是相较于 Android,iOS 是富有创造力的,这使得在另一个角度上 iOS 也是颇有可玩性的,比如「捷径」。
相较于 Android 各种语音助手的宏录制,笔者反而更喜欢这种可自由开发的、可施展创造力的东西,而且「捷径」所能做到的远比 Android 语音助手通过组合命令、通过宏录制等能做到的要更强大。
值得一提的是,如果你不想对着 Siri 尬喊指令,你还可以直接通过负一屏的组件快速执行它们。就笔者个人的体验来说,用 Siri 触发的体验还是挺不错的,因为 Siri 本身识别的准确率并不差,你完全可以非常流畅地说出「嘿 Siri,明天早上记得叫醒我」,然后等待 Siri 挨个开启你的闹钟。
当然,语音识别并不适合所有的场合,所以负一屏的这个组件还是有机会排上用上的。