如何从 Google 助理接收答案作为字符串,而不是作为音频流

Posted

技术标签:

【中文标题】如何从 Google 助理接收答案作为字符串,而不是作为音频流【英文标题】:How to receive answer from Google Assistant as a String, not as an audio stream 【发布时间】:2017-10-22 17:56:17 【问题描述】:

我正在使用 Assistant SDK 中的 python 库通过 gRPC 进行语音识别。我已识别语音并将其返回为从\googlesamples\assistant\__main__.py 调用方法resp.result.spoken_request_text 的字符串,并且我的答案是来自助手API 的音频流,方法resp.audio_out.audio_data 也来自\googlesamples\assistant\__main__.py

我想知道是否可以将服务的答案也作为字符串(希望它在服务定义中可用或可以包含在内),以及我如何访问/请求答案作为字符串。

提前致谢。

【问题讨论】:

【参考方案1】:

目前(Assistant SDK Developer Preview 1),没有直接的方法可以做到这一点。您可能可以将音频流输入到 Speech-to-Text 系统,但这真的开始变得愚蠢了。

在 Google I/O 上与工程师讨论这个主题时,他们表示这样做会遇到一些技术上的复杂性,但他们了解用例。他们需要看到这样的问题才能知道人们想要这个功能。

希望它将成为即将推出的开发者预览版。

【讨论】:

感谢您的回复。我考虑将返回的音频流提供给助手以将查询翻译作为文本...但正如您所说,它开始变得愚蠢。只是效率低下。您是否使用 gRPC 和 Python 与 Google Can Platform 的 Speech API 进行通信以处理音频流? 这最好作为一个单独的问题提出。【参考方案2】:

更新:对于

google.assistant.embedded.v1alpha2

助手SDK包含supplemental_display_text字段

这意味着将助手响应提取为有助于帮助的文本 用户的理解

或显示在屏幕上。仍然向开发人员提供文本。 Goolge assistant documentation

【讨论】:

以上是关于如何从 Google 助理接收答案作为字符串,而不是作为音频流的主要内容,如果未能解决你的问题,请参考以下文章

如何转让Google Cloud项目所有权?

DialogFlow Google智能助理Webhook回复:“空话语回应”

如何从webapp重定向到Google云端硬盘应用

Google Assistant SDK - 操作从 SQL Server 获取信息

如何在iframe上打开google身份验证器,而不是在弹出窗口中打开?

按钮未在 Google Nest 设备中显示,但在移动助理中正确显示