Google 语音 API 流媒体

Google Speech API streaming

我正在尝试使用 syncrecognize 方法将我的 PBX IVR 连接到 Google 语音 API,但由于我需要录制语音,请发送它到 API,等待响应并处理它,不可能进行正常对话或尝试使用它进行实时服务的正常 conversation/process 语音。 有没有其他的API推荐的?或者有没有办法将 VoIP/Streaming 设置为 Google。类似于 Alexa/Google 主页。我没有找到 RecognitionAudio 对象的任何内容:

Google Cloud Speech API 服务支持两种不同的功能:

  • 非流媒体识别,假设您向 Google 平台提供完整的音频,并在处理后收到结果
  • Streaming Recognition,允许您以交互方式(实时)提供音频并在处理音频块时获得有关结果(部分、临时、结果和最终结果)的通知

以上两种操作均可:

  • 同步,执行命令等待结果(适用于短文件标准识别)
  • 异步,发出指令等待notified/check具体指令结果(一般在不同线程或多线程环境下,超过一分钟的音频强制模式)

Streaming Recognition API推荐用于您的应用场景,考虑它只能通过Cloud Speech RPC访问API(google RPC ),而非流式识别 API 可用于 Cloud Speech REST 和 RPC API。

我们通过 gRPC 在类似的应用程序环境中使用了 AsyncStreamingRecognize API,该项目是 C++ 语言,环境设置相当长且复杂(您需要下载并构建 grpc、protoc 和 Google语音 API stubs/libraries 适用于您的环境)。对于我们使用 Google Speech API Site 上提供的示例作为参考的应用程序,一旦环境准备就绪,就可以非常简单地使示例应用程序逻辑适应我们的特定场景。

使用流式传输 API 您对音频编码(并非所有编码都支持)和处理的音频长度有限制(在流式传输中您最多可以处理 1 分钟的语音),此外,您可以仅使用必须启用才能使用语音的服务帐户访问 API。