Textdoc
Zipdoc
Writeurl
Loading…
const express = require("express") const fs = require('fs'); const speech = require('@google-cloud/speech'); const speechClient = new speech.SpeechClient(); const mic = require('mic'); process.env.GOOGLE_APPLICATION_CREDENTIALS="speechtotext.json"; const micInstance = mic({ rate: '16000', channels: '1', debug: true, }); const micInputStream = micInstance.getAudioStream(); const outputFileStream = fs.WriteStream('output.wav'); micInputStream.pipe(outputFileStream); async function recognizeSpeech() { const file = fs.readFileSync('./output.wav'); const audioBytes = file.toString('base64'); const audio = { content: audioBytes, }; const config = { encoding: 'LINEAR16', sampleRateHertz: 16000, languageCode: 'en-IN', }; const request = { audio: audio, config: config, }; const [response] = await speechClient.recognize(request); const transcription = response.results .map(result => result.alternatives[0].transcript) .join(' '); console.log(`Transcription: ${transcription}`); } micInputStream.on('error', function(err) { console.log(err); }); micInputStream.on('startComplete', function() { console.log("Got SIGNAL startComplete"); setTimeout(function() { micInstance.stop(); }, 6000); }); micInputStream.on('stopComplete', function() { console.log("Got SIGNAL stopComplete"); recognizeSpeech() }); micInstance.start();