NodeJs Google Speech API Streaming

时间:2017-02-06 12:14:41

标签: node.js google-speech-api

我一直在尝试设置节点服务以将实时音频流式传输到Google Speech API,但我遇到了一个我认为可能与身份验证相关的问题。

使用Express和BinaryServer在节点中编写服务,我没有任何问题地接收数据(并且能够将其保存到本地磁盘,但下面的代码部分不在下面)示例),但是当我尝试提交到Google API时,我没有收到任何回复(虽然如果我从请求中删除了keyFileName,那么我得到"错误:无法加载默认凭据"这是公平的,因为我在GCE之外跑步

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
  <textarea class="textareatest" onkeyup="countChar(this);"></textarea>
  <span id="charNum">50</span>
</div>

我还承认这是我第一次尝试重新管道到另一个API,因此我可能已将该部分搞砸了,但默认凭据信息使得我觉得它很好用,只是在没有回复理由的情况下拒绝了我的请求。

有人能发现我的错误吗?

干杯。

1 个答案:

答案 0 :(得分:-1)

有关此问题的答案,请参阅Shiv的问题

NodeJS Convert Int16Array binary Buffer to LINEAR16 encoded raw stream for Google Speech API

他给出的代码答案是

  

我们可以将缓冲区直接写入自创建的recognizerStream   GoogleSpeech如下:

const recognizer = getGoogleSpeechStreamRecognizer();

recognizer.write(int16ArrayBuffer)