当前位置: 首页 > 知识库问答 >
问题:

如何在Google语音到文本API中处理多个StreamingRecognite请求?

郎嘉树
2023-03-14

我用谷歌语音对文本API构建了一个基于web的语音对文本应用程序。

应用程序流程:

  1. 从浏览器获取音频流
  2. 将音频数据流式传输到语音识别服务并在我们的用户说话时获得实时结果

我在应用程序中引用了示例代码,streamingRecognize请求与signal客户端调用完美配合,我的服务器可以从googlespeechapi接收临时转录结果。然而,当同时有多个客户端调用StreamingRecognite时,Google语音API将陷入困境。那么,我可以知道如何同时处理多个streamingRecognize请求吗?我是否需要创建另一个客户端来处理第二个流识别请求?谢谢

后端服务器规格:

  • NodeJS
  • Socket.io

共有2个答案

戴瑞
2023-03-14

尝试做同样的事情,遇到同样的麻烦,或者他们停止工作,或者只是一个客户端不时工作,而另一个客户端给出奇怪的结果,有时两者都有,看起来您的主帐户只有一个缓冲区,您是否尝试过为每个用户生成api/令牌?值得吗,还是会有同样的缓冲

何浩荡
2023-03-14

您应该能够使用相同的Streaming认可()客户端创建多个流线程,这些客户端可用于并行发送请求。您可以查看这个和这个Github帖子,其中讨论了这个主题。

我建议您尝试此替代方案,并验证是否可以通过创建两个不同的对象或客户端来执行这些流式调用,例如:

const client = new speech.SpeechClient();
const recognizeStream = client.streamingRecognize(request)
...
const recognizeStream2 = client.streamingRecognize(request)
...

另一方面,如果要对批处理进行音频识别,建议使用同步或异步方法。

 类似资料:
  • 我跟着这首短裙:https://jbinformatique.com/2018/02/16/android-speech-to-text-api-google-tutoriel/ 它工作得很好!它使用android.speech.识别意图包,它是免费的,它可以在没有互联网的情况下工作,正如这里提到的: Android语音到文本API(识别器意图)和Google Cloud Speech API之间

  • 我已经创建了Google存储桶,为桶中的音频文件执行Google语音到文本的转换。但这不起作用,因为bucket拒绝访问Google语音API。 错误消息:匿名调用方没有存储。对象。获取访问权限\u被拒绝 语音使用API密钥进行身份验证,存储使用服务帐户密钥进行身份验证。我已经授予访问bucket中服务帐户的权限。 是否可以对存储桶进行语音访问? 我也尝试过给服务号桶权限。但是它不起作用。

  • 我似乎在这上面找不到任何东西。iOS7中是否有任何Siri类或API允许您进行文本到语音转换?我所要做的就是如下所示: 然后让Siri从我的应用程序中说出来。 看来我们应该有能力做到这一点,不是吗?似乎是一件微不足道的事情。

  • 使用Microsoft语音API转录中/大型音频文件(每个文件约6-10分钟)的最佳方式是什么?比如批量音频文件转录? 我使用了https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-to-text-sample中提供的代码,用于连续转录语音,但它在某个时候停止转录。转录有任何限制吗?我只使用免

  • 我试图调用google speech to text api,但它总是返回空结果。我从这个答案中得到了实现提示:在dart、FLATTER中使用gcloud语音api进行实时语音识别 我使用的是颤振声(https://pub.dev/packages/flutter_sound)打包以录制音频,然后将base64编码的音频发送到语音API 录音代码 音频文件android。aac带。从上述代码成功

  • Android谷歌语音转文本SDK,语音录制由SDK控制。我需要将其设置为手动按钮,用于启动和停止语音录制,以便将语音转换为文本。例如:当单击按钮开始语音识别时,它会继续录制音频,直到单击停止按钮。但在android SDK中,它会自动停止录制并将录制的音频传递给处理。