【问题标题】:Stop google speech to text streaming recognize client in python在python中停止谷歌语音到文本流识别客户端
【发布时间】:2018-11-04 07:01:25
【问题描述】:

我使用谷歌语音转文本 API 将语音转文本。 当我们点击 is_final=True

时,我正在尝试终止此服务
requests = (types.StreamingRecognizeRequest(audio_content=message.chunk)
                for message in messages)

responses = client.streaming_recognize(streaming_config, requests)

我已经尝试过:responses.cancel() 但它出现了错误

我发现在Java中有这个方法可以用来终止流式识别服务:

SpeechClient speech;
speech.close();

但我在 Python 客户端库中找不到相同的方法。有人可以指导我如何在 Python 中正确终止流媒体服务吗?

【问题讨论】:

  • StreamingRecognizeResponse 可以包含多个带有is_final=True 的结果,您只是在寻找第一个吗?如果是这样,也许您正在寻找的是设置single_utterance=True。如果这样做,客户端将在暂停时关闭流,仅返回一个结果,并将 is_final 标志设置为 true。
  • 感谢您的建议,我没有仔细阅读文档,您是真的,这是关闭流的一种方式

标签: python google-cloud-speech


【解决方案1】:

就像 Leferis S 已经提到的那样。如果您想在收到is_final=True 后停止StreamingRecognizeRequest,您必须在StreamingRecognitionConfig 中设置single_utterance=True。

一个扩展的解决方案是解析响应。 Here(第 147-160 行)是一个官方示例,您可以在其中看到如果最终识别出特殊单词,如何退出流处理。

【讨论】:

  • 感谢您的贡献,我认为 Leferis S 的第一个解决方案适合我的用例,祝您有美好的一天!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
相关资源
最近更新 更多