Siri回答无法执行是为什么?

无论是否常(实)用、不管是虚拟的还是实体的,语音助手,无疑正在成为一股潮流。本次 WWDC 一个看点也是苹果会否推出智能音箱,或是对 Siri 叕一次升级,不过在此之前,我们依然可以做些什么,让 Siri 对你「言听计从」(目前不包括 Mac 上的 Siri,因为没有接入 HomeKit)

这不是一篇详尽的教程,而是想和大家交流一些想法,DIY 玩起来(当然干货也是有的,提供了一个 Homebridge 插件,可以在部署了 Node.js 及 Homebridge 的环境下安装)

  • 对 Siri 下达「睡眠电脑」,屏幕就会进入睡眠状态
  1. 对 Siri 下达「更新树莓派」,树莓派会执行sudo apt-get update,并且通过 Telegram 推送执行结果,如果有待更新软件包,还会新建一个 Todoist 任务,评论内容为软件包信息
Siri 命令与消息通知

熟悉 Homebridge 的朋友当然了解它的强大与灵活,我们可以利用提供的接口编写插件,将原本并不智能的设备纳入到 HomeKit 的管理中,或者做任何想做的事,这个实现也不例外

我们要做的,是扩展 HomeKit 的功能,使之能执行自定义的命令

其实社区不乏这样的实现,我们可以很容易地虚拟一个开关之类的设备,然后打开它的时候去执行预设的 Shell 脚本(能执行 Shell 就约等于能做任何事)

这个方法很直观,但是我们当然不希望每个 Shell 脚本都需要添加一个虚拟开关,并且在使用 Siri 的时候用「打开 / 关闭 xxx」这样的句式来下发命令

其实想一下,我们并不是必须靠「开关」来执行命令,我们需要的是改变虚拟设备的状态,就触发相应的脚本,所以接下来就顺理成章了,HomeKit 里智能灯拥有最多的可控状态,1 个智能灯,通过改变亮度(0 - 100)就可以对应约 100 个命令

HomeKit 中智能灯采用 HSV 色彩空间,也就是说除了「亮度 V」,还有「色相 H」、「饱和度 S」可以利用,但是根据 Homebridge 接口的特点,实现各属性的乘数关系比较复杂,简单与直观起见,只用亮度通常就足够了

这样,我们就可以设定亮度为 1 时,执行某个脚本;设定亮度为 2 时,执行另一个脚本等等,极大地减少了添加虚拟设备的数量

不同的亮度对应不同的脚本

前面我们设计通过改变智能灯的亮度来执行 Shell 脚本,但是你一定不想在 UI 上滑动亮度条,鬼知道「沿途」会触发多少目标之外的脚本,而且每个亮度对应的脚本具体是什么也不容易记忆,这时候「场景」就派上用场了

我们可以设定多个场景,每个场景中智能灯的亮度不同,进而对应不同的脚本,这样去点按场景就很方便了,而且与「给每个命令都映射一个开关」的方法相比,虚拟一个设备而设定多个场景的方式显得更「优雅」一些

用语音去设定场景,就好像在「执行语音命令」

自然地,我们会给这些场景起一些有含义的名字,比如上面的例子。至此,我们「执行语音命令」的目标其实就已经达成了

最初想到可以这样做是缘于一次搞怪:

当 HomeKit 接入了一些设备,比如智能灯(真正的),我们自然会想要捉弄下 Siri,于是我说:要有光。不出意外,Siri 没那么「聪明」。不过如果这样设置,我们对《最后的问题》的致敬就可以完成:

显然,Siri 对场景名称是敏感的。正如系统建议的「出门」、「到家」、「晚安」、「早上好」那几个场景一样,我们只要用想要执行的命令名称(或任何话,只要 Siri 能正确「听写」)来创建场景,比如「睡眠电脑」、「关闭电脑」等等,然后去编写对应的 Shell 脚本就好

刚设置好的场景,可能要等一会儿 Siri 才能正确索引和识别

几个体验上的问题 & 细节

原理很简单,交流几个应该考虑的问题:

  • 屏蔽误触。毕竟是添加了一个设备,有时会不小心开关它,我们可以编写一些策略来屏蔽它,比如响应「开 / 关」操作时,异步还原它原本的开关状态;只有「修改亮度」操作才真正进行处理,同时将开关状态置为「开」
  • 忽略模糊指令。同样,毕竟是添加了一个「灯」,如果对 Siri 下达类似这样的指令:「将灯亮度调到 x」,这会改变所有智能灯的亮度,而如果 x 恰好对应了一个 Shell 的话……这一定不是我们期望的。这个问题解决起来麻烦一些,一个可行的方案是再添加一个虚拟灯,如果我们发现这两个灯「同时」收到命令的话(实际上是两条并发的命令,但中间会有一点时间差),就可以认为该命令是模糊指令,然后忽略它

下面是我写的一个 Homebridge 插件,仅供参考。安装命令:

默认不需要配置。如果想要修改 Shell 脚本存放路径,或者需要 Telegram 推送功能,Homebridge 配置如下(如果有其它插件配置,注意合并):

重启 Homebridge 后会添加两个灯,「Command Bulb」和「Probe Bulb」,前者用于执行命令,后者用于排除模糊指令干扰(没有其它用处,请无视它的存在)

脚本应具有可执行权限,约定先于配置,脚本前缀、后缀采用如下规则

  • 前缀(前两位,01 - 99)用于映射亮度,比如「01」对应亮度为 1,此外,所有前缀为「01」的脚本都会被执行,可以一次执行多个独立脚本。预留了亮度为 0 和 100 两个值用于标识「成功 / 失败」,所以不要用「00」作为前缀
  • 后缀用于辅助功能,目前是用于 Telegram 推送消息(在配置了相关参数的情况下)
    • 「.ok」表示执行结果为成功时推送「Command: xxx OK!」消息。注意,默认情况下,执行过程中存在 stderr 不会被认为是失败
  • 「.err」表示推送 stderr,并且执行过程中存在 stderr 会被认为是失败
  • 多个后缀可组合,如「.ok.out」,会推送成功和标准输出两条消息
  • 其它未定义的及「.sh」可有可无,会忽略

  • 不要将两个虚拟灯加入个人收藏,最好新建一个房间来摆放它们,尽量减少直接操作它们的机会
  • 新建两个场景「成功」、「失败」(「成功」对应于「Command Bulb」关闭状态,「失败」对应于其亮度为 100 的状态),用于标识执行结果,可以添加到个人收藏充当信号灯;而其他命令的场景最好不要添加到个人收藏(太多会显得乱,而且我们倾向于用 Siri 来触发而不是点按)
成功 / 失败场景作为信号灯
  • 有一个家庭中枢会方便很多,同时也使得外出时 HomeKit 依然可用。如果用闲置的 iPad 作为中枢,将「自动锁定」关闭可以保持 HomeKit 总是可用,亮度可以调到最低

原理是在运行 Homebridge 及插件的服务器上,通过 SSH 连接 Mac 执行命令,类似这样:

其中 user 为 Mac 的用户名(在终端中运行whoami即是),ip 为 Mac 的地址,可以在路由器中绑定,或者用共享设置页面显示的类似 xxx.local 的地址,更加灵活

在服务器上 SSH 到 Mac 还需要输入密码,所以要设置免密登录(只对该服务器有效)

整个方案是可行的,对原本 HomeKit 的「侵入性」相对比较小,就我个人体验来说还不错,不过当然也有无法克服的缺点:

  • 需要自己编写 Shell 脚本
  • 终究是显式地引入了虚拟设备,也为此不得不考虑容错机制。不过增加的设备也可以成为功能的扩展点
  • 语音与命令终究是静态映射,不能动态解析和响应,所以需要手动设定较多场景
  • 受制于 HomeKit 接口的开放 / 破解程度,未来可能会失效
  • Siri 对场景的名称并不总能正确解读。比如设置了一个「关闭电脑」命令,因为包含了 Siri 指令系统的关键字「关闭」,它就不干(不过如果说「请关闭电脑」,却能正确识别,迷之傲娇)

采用这个方案,我们实际上并没有让 Siri 更「聪明」,而是用一种比较 tricky 的方式,让 Siri 更「听话」,有一说一,说一不二,说二就听不懂了

这自然不是最佳的体验,不管是语音助手,还是智能家居,都应该有更加直观的界面、更加动态的实现。期待本次 WWDC 能给我们带来更多「it just works」的特性,也期待被收购的 Workflow 能早日加入 Siri 的支持

PConline资讯】据报道,美国专利及商标局在15日公布了苹果一项可离线使用语音助理Siri的专利申请。报道称,苹果近期发布的iPhone都搭载了用于执行密集型运算的处理器,适合用于在设备端执行机器学习任务,而该专利显现了推出离线模式Siri的可能性,因此,外界预计苹果未来将会推出离线版Siri,让用户在没有联网的情况下也能正常使用Siri。

通常Siri的工作流程是收到用户的命令后,将语音经过匿名处理,回传到苹果后端服务器分析,先把收集到的语音资料从语音转文字,经过语意理解处理后,回传回覆到用户的设备端。在这个过程中,语音和语意识别需要通过苹果后端服务器的处理。因此,在目前这种模式下,如果Siri没有联结网路,则用户无法使用。

而在苹果的离线模式Siri专利中,语音转文字的过程未来将会在用户的设备端执行,并且在收到用户的命令后,直接通过自然语言处理任务,将结果反馈给用户。苹果指出,处理请求的识别系统模块没有和外部连接,而这套模组包含了语音合成、对话处理、自然语言处理,还有含有预设单词和用户自建数据的语音对话转换元件等。

借助请求的架构和识别的字词,离线语音助理可以执行一些预先定义过的任务,这些任务储存在任务工作流程处理或是服务处理的模组中,苹果也采用了机器学习机制来执行特定类型的任务,如自然语言处理,系统通过了解上下文的信息,在有限的数据的装置中,判断用户的命令,如此一来,Siri就能在离线时完成基本的任务,像是设定计时器、播放装置中的音乐等。

Siri捷径GM版公布:所有预期功能都已启用!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Mac 上的 Siri 可帮助您执行日常任务,获取快速答案和信息,播放音乐等。您可以询问 Siri 很多事情,从“安排9点钟开会”到“昨晚比赛的比分是多少?”。Siri 随时准备帮助您。

在某些 App 中,Siri 甚至可以在您询问前就提供建议。例如,当在“邮件”中收到邀请或在 Safari 浏览器中预订机票时,Siri 会建议将其添加到日历。或者,在浏览网页时,Siri 会建议相关的网页。

如果在首次设置 Mac 时就启用了 Siri,Siri 可能已经打开。

2.如果尚未选择,请选择“启用‘询问 Siri’”,然后点按“启用”。
3.如果系统询问您是否要改进 Siri 和听写,请执行以下一项操作:

  • 共享音频录音:点按“共享音频录音”以允许 Apple 储存来自这台 Mac 的 Siri 和听写交互音频。Apple 可能会检查所储存音频的样本。
  • 不共享音频录音:点按“以后”。

如果稍后改变主意,想要共享或停止共享音频录音,请在“隐私”偏好设置的“分析与改进”部分中选择或取消选择“改进 Siri 与听写”复选框。请参阅。

4.请执行以下一项操作:

  • 使用“嘿Siri”:如果 Mac 或配对的 AirPods 支持,请选择“用‘嘿Siri’唤醒”复选框以通过说出“嘿Siri”来开始使用 Siri。打开此选项后,通过选择“锁定时允许使用 Siri”复选框,您还可以在 Mac 处于锁定或睡眠状态时使用 Siri。
  • 设定键盘快捷键:点按“键盘快捷键”弹出式菜单,然后选取使用不同的快捷键来询问 Siri 或创建自己的快捷键。询问 Siri 的默认键盘快捷键是同时按住 Command 键和空格键。
  • 选取 Siri 交流的方式:点按“语言”弹出式菜单,然后选取一种语言。点按“Siri 声音”弹出式菜单,然后选取 Siri 说话时的性别(有时可选取方言)。
  • 静音 Siri:点按“语音反馈”旁边的“关闭”,Siri 的回复将显示在 Siri 窗口中而不会朗读出来。
  • 将 Siri 添加到菜单栏:选择“在菜单栏中显示 Siri”复选框。
  • 若要在 Mac 上询问 Siri,请执行以下任一项操作:
  • 点按菜单栏中的 Siri 图标 (或使用)。
  • 如果 Mac 支持,请说“嘿Siri”。您的便携式电脑必须开机才能使用“嘿Siri”。
  • 如果 Siri 没有响应,请打开并确保“用‘嘿Siri’唤醒”已启用。当支持的 Mac 处于锁定或睡眠状态时,您也可以使用“嘿Siri”。
  • 如果连接的 AirPods 或支持的耳机支持该功能,请说“嘿Siri”。
  • 如果 Siri 没有响应,请打开 Siri 偏好设置并确保“在 AirPods 上听取‘嘿Siri’”已启用。Mac 锁定时,您也可以使用“嘿Siri”。

若要验证您可以在设备上使用“嘿Siri”.

【提示】使用 Siri 时,您的设备会向 Apple 发送诸如您的姓名和昵称,或者您在“通讯录”中所设置联系人的姓名和昵称等信息。这是为了方便 Siri 更好地理解和识别您所说的内容。试着问问“我叫什么名字?”。或者如果添加了工作地址,Siri 可以提醒您在下班时买东西等操作。

您可以使用 Siri 获得快速答案(像这样说:“后天的天气怎么样?”)。或者替您执行任务,如打开勿扰模式。

在 Mac 上,问 Siri 一个问题或替您执行任务。更多内容请查阅

Siri 会立即为您打开“备忘录” App。
“新建备忘录”,然后听写要编写的内容。 
让 Siri 为您编写备忘录或电子邮件。
让 Siri 为您安排会议。
“离我最近的超市在哪里?”或“后天的天气怎么样?”   

在“隐私”偏好设置中启用“定位服务”后,Siri 可以提供基于您当前位置的信息或包含地图以提供更多详细信息

您可以完成强大的文件搜索:只需询问Siri来查找创建于某个时间或包含的精确文本的文件
“增加我的屏幕亮度”或“打开夜览偏好设置”   
Siri 可为您自动更改某些偏好设置或打开偏好设置面板。
Siri 可以使用“查找”帮助您找到设备。
“我的电脑运行速度有多快?”或者“我的电脑还有多少 
Siri 可以向您提供有关您设备的信息。

【提示】询问 Siri“你能做什么?”或者点按 Siri 窗口中的“帮助”按钮  来进一步了解 Siri 能够如何帮助您。

如果您更愿意键入以代替说出对 Siri 的请求,可以打开“键入以使用 Siri”。

如果 Siri 窗口没有自动关闭,则可以手动关闭它:只需在触控板上向右轻扫或点按“关闭”按钮  即可。

您可以将 Siri 结果放在“通知中心”以便快速访问,或者在电子邮件或文稿中使用。

在 Mac 上,执行以下任一项操作:

  • 将结果固定到“通知中心”:如果在结果的右上角看到添加按钮 ,点按该按钮以将结果添加到“通知中心”的“今天”视图。
  • 结果将保持固定并更新,直到您移除它们。您可以固定多种类型的结果,如股票价格、体育赛事安排等。
  • 打开结果:连按网页以在 Safari 浏览器中打开它,或者连按文件或文稿以在 Mac 上相应的 App 中打开它。您还可以用力点按结果以在“快速查看”窗口中进行预览。
  • 使用或存储结果:拖放以将图像或位置添加到电子邮件或文稿中,或者添加到桌面。(您也可以拷贝或粘贴文本。)
  1. 取消选择“启用‘询问 Siri’”复选框。

Siri 使用“定位服务”来提供与您所在位置相对应的信息、服务和功能。您可以更改设置,以允许 Siri 使用该服务。
您还可以在 Mac 上使用 Siri 控制家中的灯以及其他配件。

以上就是关于在Mac上使用Siri的全部介绍,如果你喜欢这篇文章,请在这个话题下评论吧,欢迎点赞,收藏关注Uc电脑园

我要回帖

更多关于 怎样撤销法院执行记录 的文章

 

随机推荐