2017-02-06 10 views
3

私はライブ音声をGoogle Speech APIにストリーミングするためのノードサービスを設定しようとしていましたが、認証に関連すると思われる問題が発生しました。NodeJs GoogleスピーチAPIストリーミング

サービスはExpressとBinaryServerを使用してノードに書き込まれますが、問題なくデータを受信して​​います(ローカルディスクに保存できましたが、そのコードの部分は以下の例にはありません)。私はGoogle APIに提出しようとすると何も返されません(リクエストからkeyFileNameを削除した場合、「エラー:デフォルトの認証情報を読み込めませんでした」と表示されます。 GCE)

var express = require("express"); 
var app = express(); 
var port = 54180; 
var BinaryServer = require('binaryjs').BinaryServer; 

var server = BinaryServer({ 
    port: port 
}); 

app.listen(port, function() { 
    console.log('server open on port ' + port); 
}); 

binaryServer = BinaryServer({ 
    port: 9001 
}); 

binaryServer.on('connection', function (client) { 
    console.log('Binary Server connection started'); 

    client.on('stream', function (stream, meta) { 
     console.log('>>>Incoming audio stream'); 

     var speech = require('@google-cloud/speech')({ 
      projectId: 'MYPROJECT-1234' 
       //keyFilename: '/config/KeyFile.json' 
     }); 

     const request = { 
      config: { 
       encoding: 'LINEAR16', 
       sampleRate: 16000 
      }, 
      singleUtterance: false, 
      interimResults: true 
     }; 

     // Create a recognize stream 
     const recognizeStream = speech.createRecognizeStream(request) 
      .on('error', function (error) { 
       console.log('Error'); 
       console.log(error) 
      }) 
      .on('data', function (data) { 
       console.log('Data'); 
       console.log(data); 
      }); 

     // Send the microphone input to the Speech API 
     stream.pipe(recognizeStream); 

     stream.on('end', function() { 
      fileWriter.end(); 
      recognizeStream.end(); 
      console.log('||| Audio stream ended'); 
     }); 
    }); 
}); 

は、私はまた、私はその部分をめちゃくちゃにしたことかもしれないので、これは私が別のAPIへのパイプを再しようとしたのは初めてである認めるが、デフォルトの資格メッセージます私はそれがOKの配管だと思うようになります。理由を返さずに私の要求に従ってください。

誰かが間違っているのを見つけられますか?

乾杯。彼が与えた

+1

だった私も同様の解決策を探しています。ここで私の質問ですhttps://stackoverflow.com/questions/43505524/nodejs-convert-int16array-binary-buffer-to-linear16-encoded-raw-stream-for-googl –

答えて