前提・実現したいこと
タイトル通り、Cloud Speech-to-Textのストリーミング入力の音声文字変換をブラウザ上で実行したいです。
質問したい内容
・タイトルの内容を実現することは可能か
・下画像エラーの解答
以上の2点をお聞きしたいと思っています。放り投げの質問で申し訳ないのですが、もし、知識がある方がいらっしゃいましたらアドバイスだけでもいただけると嬉しいです。その他情報などが必要な場合は逐次追加させていただきます。
発生している問題・エラーメッセージ
GCPのドキュメント通りにストリーミング音声認識を行おうとすると以下のエラーが出ました。
エラー文の通りoauthクライアントを作成して引数に渡してしたところ再びエラーが出ています。
該当のソースコード
javascript
1 const recorder = require('node-record-lpcm16'); 2 const speech = require('@google-cloud/speech'); 3 const auth = require('google-auth-library'); 4 5 const oauth2client = new auth.OAuth2Client(client_id, client_secret, callback_uri); 6 const authUrl = oauth2client.generateAuthUrl({ 7 access_type: 'offline', 8 scope: [ 9 'https://www.googleapis.com/auth/cloud-platform' 10 ] 11 }); 12 13 // Creates a client 14 const client = new speech.SpeechClient({ auth: oauth2client }); 15 16 /** 17 * TODO(developer): Uncomment the following lines before running the sample. 18 */ 19 // const encoding = 'Encoding of the audio file, e.g. LINEAR16'; 20 // const sampleRateHertz = 16000; 21 // const languageCode = 'BCP-47 language code, e.g. en-US'; 22 23 const request = { 24 config: { 25 encoding: encoding, 26 sampleRateHertz: sampleRateHertz, 27 languageCode: languageCode, 28 }, 29 interimResults: false, // If you want interim results, set this to true 30 }; 31 32 // Create a recognize stream 33 const recognizeStream = client 34 .streamingRecognize(request) 35 .on('error', console.error) 36 .on('data', data => 37 process.stdout.write( 38 data.results[0] && data.results[0].alternatives[0] 39 ? `Transcription: ${data.results[0].alternatives[0].transcript}\n` 40 : '\n\nReached transcription time limit, press Ctrl+C\n' 41 ) 42 ); 43 44 // Start recording and send the microphone input to the Speech API. 45 // Ensure SoX is installed, see https://www.npmjs.com/package/node-record-lpcm16#dependencies 46 recorder 47 .record({ 48 sampleRateHertz: sampleRateHertz, 49 threshold: 0, 50 // Other options, see https://www.npmjs.com/package/node-record-lpcm16#options 51 verbose: false, 52 recordProgram: 'rec', // Try also "arecord" or "sox" 53 silence: '10.0', 54 }) 55 .stream() 56 .on('error', console.error) 57 .pipe(recognizeStream); 58 59 console.log('Listening, press Ctrl+C to stop.'); 60 }
試したこと
not suppotedということでTypeScriptをインストールし試してみましたが、上手く動作させることができませんでした。
あなたの回答
tips
プレビュー