私はしばらくの間、Google Speech APIに苦労してきました。ここでGoogle Speech API - base64でエンコードされた音声を認識
は私がやろうとしているものです:ブラウザで
- 録音オーディオ
- BASE64に記録を変換し、サーバ上で私のサーバー
- に送信、Googleの音声APIのsyncRecognize関数を呼び出します私のベース64エンコードされたオーディオを渡す
私はいつも空の結果オブジェクトを受け取ります。
私はこれに従うとgetting started tutorialでも問題なく動作します。
私は間違っていますか?
ヒントやアイデアは非常に高く評価されます。
const Speech = require('@google-cloud/speech');
const SpeechV1beta1 = require('@google-cloud/speech/src/v1beta1')
module.exports = {
syncRecognize: function(base64Encoding) {
const speech = Speech();
const speechV1beta1 = SpeechV1beta1();
const client = speechV1beta1.speechClient();
const body = {
"config": {
"encoding":"LINEAR16",
"sampleRate":16000,
"languageCode":"en-US"
},
"audio": {
"content": base64Encoding
}
}
return client.syncRecognize(body)
.then((results) => {
console.log('results', results)
return {transcription: results[0]};
}).catch(function(error) {
return {error: error};
});;
}
}
これまでブラウザでこれを試みたことはありません。そのため、わかりません。オーディオコンテンツデータをファイルに保存して、再生可能であることを確認する方法はありますか(それはLINEAR16 16kHzですか)。あなたはそれにURIを与える場合、同じコードは動作しますか?もしそうなら、オーディオの「コンテンツ」に問題があるようです。 – blambert