"Okay Google, show pictures of [PARAMETER PHRASE]"

"Okay Google, show pictures of [PARAMETER PHRASE]"

我正在创建一个 Google Assistant/Home 的设置,它应该通过给我参数短语来理想地响应短语 "Okay Google, show pictures of [PARAMETER PHRASE]"。它还 HAS 能够像普通家庭一样运作("Hey Google, how far away is the moon"、“...给我讲个笑话”等),而无需我重新实现所有这些功能(不匹配的短语应回退到 Google 主页)。

如果我使用 Home,恐怕我将无法避免“...告诉 [我的应用程序名称] 到...”,但它内置了一个很棒的麦克风和扬声器。

我正在寻找一个 raspberry pi 解决方案来增加控制层,但 Home 已经有了很棒的麦克风和扬声器。重要的是,我绝对不想重新创建 Google Home 的核心功能(可能会将未捕获的短语传递给 Google Home 后端?)

我可以使用助手快捷方式("Okay Google, cat time!"、"Hey Google, show me cats")屏蔽一些非参数化命令以简化调用短语,但这不起作用,因为它不可参数化。

TLDR:我有一个设置需要 1。像正常的 Google Home 一样工作,但必须 2 . 有我实现的附加功能。我想 3. 避免声明“...告诉我的目标应用程序 [...]”,但我需要 4 .要传递给我的代码的参数。,即使完全未解析。

我有哪些选择?

如果不首先使用 Ok Googe, talk to my app* 连接到您的应用程序,您将无法调用您的应用程序,因为如果发生这种情况,就像是在与 Core Assistant 对话,而不是您的应用程序。

Google 不允许在没有应用程序调用的情况下谈论应用程序

这里有很多可能的方法,具体取决于您想要解决这个问题的确切角度。 None 目前确实是完美的,但是,由于一切都在发展,我们将拭目以待。

  1. 听起来你在做物联网相框之类的东西?你想和它说话吗?如果是这样,您可能需要查看 Assistant SDK,它可以让您将智能助理嵌入到您的物联网设备中。这将让您自己执行一些语音命令,但将其他事情交给 Google 助理来处理。

    但这不是一个完美的解决方案,因为它拆分了语音识别的工作位置和应用位置,并且可能不会让您触发热词。

    它还处于早期开发者预览版中,因此情况可能会发生变化,并且它可能会演变成更接近您想要的东西……但现在很难说。

  2. 根据您正在使用的 IoT 设备,您可以通过构建 Smart Home 操作来利用内置命令。但是,目前,它们可以使用的设备类型相当有限。这听起来也像是你在尝试处理媒体控制 - 这不是智能家居直接使用的东西,并且(希望)是未来的行动 API([=51 有一些关于此的提示=],承诺与 Cast 兼容......但没有详细信息)。

  3. 如果您真的想为 Home 和 Assistant 构建,则需要使用 Google 上的操作限制。这确实包括触发名称的一些问题。

    但是...一个好的策略是选择一个与所使用的前缀短语相得益彰的名称。由于 "Ask" 是 Home 处理的合法前缀,您可以计划一个触发名称,例如 "awesome photo frame",并使命令 "Ask awesome photo frame to show pictures of something".

  4. 风险更大,因为它没有明确记录,但似乎一些触发名称 根本没有 前缀。因此,如果您的应用程序名为 "fly to the moon",您似乎可以说 "Hey Google, fly to the moon" 并且将触发操作。如果能注册成这样的名字,用户会觉得很自然。

  5. 最后,您可以选择一个合理的名称,但让您的用户设置一个对他们有意义的别名或快捷方式。我不确定这将如何与解决方案 (1) 相适应,但能够让您预定义快捷方式会使它非常强大。