【问题标题】:How to stream audio from AngularJS to Google Cloud Speech API如何将音频从 AngularJS 流式传输到 Google Cloud Speech API
【发布时间】:2017-05-09 12:48:09
【问题描述】:

我是 HTML5 Web Audio API 和 Google Cloud Speech API 的新手。我正在尝试将语音识别构建到 AngularJS 应用程序中,以便用户可以使用语音到文本执行搜索,而不是使用键盘输入搜索。

目的是使用 getUserMedia() 捕获客户端的音频并将其流式传输到 Google Cloud Speech API,并异步接收返回结果。

Google 提供了一组client libraries,允许您从 C#、Node 和 Java 等服务器端平台流式传输到他们的 API,但我找不到显示如何执行以下任一操作的示例:

  • 将音频从 AngularJS 直接流式传输到 Google Cloud Speech API
  • 将音频从 AngularJS 流式传输到自定义 API,该 API 使用客户端库将提要中继到 Google Cloud Speech API

有没有人找到将音频从 AngularJS/HTML5 客户端流式传输到像 Google Cloud Speech API 这样的 API 的方法?

【问题讨论】:

    标签: angularjs google-cloud-speech


    【解决方案1】:

    几个选项:

    1. 流式客户端sample code:

      function sendBytesToSpeech (bytes, encoding, rate, callback) {
        gapi.client.speech.speech.syncrecognize({
          config: {
            encoding: encoding,
            sampleRate: rate
          },
          audio: {
            content: bytes
          }
        }).execute(function (r) {
          callback(r);
        });
      }
      
      function sendBlobToSpeech (blob, encoding, rate) {
        var speechSender = new FileReader();
        speechSender.addEventListener('loadend', function () {
          sendBytesToSpeech(btoa(speechSender.result), encoding, rate, uiCallback);
        });
        speechSender.readAsBinaryString(blob);
      }
      
    2. 使用Express and a WebSocket connection 或您喜欢的语言的类似配置流式传输服务器端。

    【讨论】:

    • 我会试试看的。奇怪的是 Cloud Speech 开发者网站 (cloud.google.com/speech/docs/reference/libraries) 没有提到 Javascript 客户端库
    • JavaScript 客户端库比 Cloud Client 库旧,后者是这些 API 的首选 - 没有 JavaScript Cloud Client 库。
    • 我真正需要的是与自然语言 API 的客户端集成。也就是说,您的参考资料很有帮助,并且确实回答了我的问题。谢谢上课。
    • @vt_todd : 你能解决这个问题吗?
    • 不 - 改变了工作和技术堆栈,抱歉再也没有回来。
    猜你喜欢
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2016-01-26
    • 2018-06-15
    • 1970-01-01
    相关资源
    最近更新 更多