私はライブ音声を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の配管だと思うようになります。理由を返さずに私の要求に従ってください。
誰かが間違っているのを見つけられますか?
乾杯。彼が与えた
だった私も同様の解決策を探しています。ここで私の質問ですhttps://stackoverflow.com/questions/43505524/nodejs-convert-int16array-binary-buffer-to-linear16-encoded-raw-stream-for-googl –