【问题标题】:how to speed up google cloud speech如何加快谷歌云语音
【发布时间】:2018-10-26 03:47:58
【问题描述】:

我正在使用一个麦克风,它通过浏览器记录声音,将其转换为文件并将文件发送到 java 服务器。然后,我的 java 服务器将文件发送到云语音 api 并给我转录。问题是转录超长(2 秒对话大约需要 3.7 秒)。

所以我想加快转录速度。首先要做的是流式传输数据(如果我在记录的开头开始转录。问题是我不太了解 api。例如,如果我想从源转录我的音频流(浏览器/麦克风)我需要使用某种 JS api,但我找不到可以在浏览器中使用的任何东西(我们不能像这样使用节点吗?)。

否则我需要将我的数据从我的 js 流式传输到我的 java(不确定如何在不破坏数据的情况下做到这一点......),然后从那里通过 streamingRecognizeFile 推送它:https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/speech/cloud-client/src/main/java/com/example/speech/Recognize.java

但是它需要一个文件作为输入,那么我应该如何使用它呢?我无法真正告诉系统我是否完成了记录......它如何理解这是转录的结束?

我想在我的网络浏览器中创建一些东西,就像那里的谷歌演示一样: https://cloud.google.com/speech/

我认为关于使用流 api 的方式有一些基本的东西我不明白。如果有人能解释一下我应该如何处理这个问题,那就太糟糕了。

谢谢。

【问题讨论】:

  • 看看这个用于谷歌云语音的example Node.js 客户端。

标签: google-cloud-platform streaming audio-streaming google-speech-api


【解决方案1】:

Google“语音转文本处理音频的速度通常比实时处理快,平均在 15 秒内处理 30 秒的音频”[1]。您可以使用 Google APIs Explorer 准确测试每个请求需要多长时间 [2]

为了加快转录速度,您可以尝试将识别元数据添加到您的请求[3]。如果您知道演讲 [4] 的上下文,您可以提供短语提示。或者使用增强模型来使用一组特殊的机器学习模型[5]。所有这些建议都将提高准确性,并可能对转录速度产生影响。

使用流式识别时,可以在配置中将singleUtterance 选项设置为True。这将检测用户是否暂停讲话并停止识别。如果不是,则流式传输请求将一直持续到内容限制,即流式传输请求 [6] 的 1 分钟音频长度。

【讨论】:

    猜你喜欢
    • 2017-07-11
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2017-05-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多