如何从 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 助理接收答案作为字符串,而不是作为音频流的主要内容,如果未能解决你的问题,请参考以下文章
DialogFlow Google智能助理Webhook回复:“空话语回应”
Google Assistant SDK - 操作从 SQL Server 获取信息