Convert Speech To Text- Nodejs

Shubham Verma
Jul 26, 2017 · 2 min read

Hi There ,

I am going to tell you how to convert Audio/Speech/.mp3 and other audio file into Text format.

I will use Nodejs, Bluemix (IBM Cloud Plateform).So let’s start.

You should follow below steps to the same:

Step 1: Register on Bluemix (IBM Cloud Plateform).

Step 2: Login on Bluemix.

Step 3: Crete a service for speech-to-text. And get the username and password for speech-to-text. Link : Create service for speech to text.

Step 4: Start coding.

Step 5: Create a .js file and require speech-to-text and fs just like below code.

var SpeechToTextV1 = require(‘watson-developer-cloud/speech-to-text/v1’); 
var fs = require(‘fs’);

Step 6: Create an object of SpeechToText just like below code.

var speech_to_text = new SpeechToTextV1({
username: ‘1234567–8765–4267–9e76-fgff34f’,
password: ‘ABCdefghiJK’
});

Step 7: Create an array and insert the path of the audio. You can have many audio file in this array.

var files = [‘./music/hello.flac’,’./music/somebody2010.flac’];

Step 8: Create params for every audio, So we will do it in for loop and call speech_to_text.recognize() to convert.Get the response and console it.

for (var file in files) {
var params = {
audio: fs.createReadStream(files[file]),
content_type: ‘audio/flac’,
timestamps: true,
word_alternatives_threshold: 0.9,
keywords: [‘colorado’, ‘tornado’, ‘tornadoes’],
keywords_threshold: 0.5
};
speech_to_text.recognize(params, function (error, transcript) {
if (error)
console.log(‘Error:’, error);
else{
console.log(JSON.stringify(transcript, null, 2));
console.log(transcript.results[0].alternatives[0].transcript);
}
});
}

Congratulation ! You did it.

The complete code is here :

var SpeechToTextV1 = require(‘watson-developer-cloud/speech-to-text/v1’);
var fs = require(‘fs’);
var speech_to_text = new SpeechToTextV1({
username: ‘1234567–8765–4267–9e76-fgff34f’,
password: ‘ABCdefghiJK’
});
var files = [‘./music/hello.flac’,’./music/somebody2010.flac’];for (var file in files) {
var params = {
audio: fs.createReadStream(files[file]),
content_type: ‘audio/flac’,
timestamps: true,
word_alternatives_threshold: 0.9,
keywords: [‘colorado’, ‘tornado’, ‘tornadoes’],
keywords_threshold: 0.5
};
speech_to_text.recognize(params, function (error, transcript) {
if (error)
console.log(‘Error:’, error);
else
console.log(transcript.results[0].alternatives[0].transcript);
});
}

HOW TO RUN ABOVE PROGRAM:

/*************************************************************
INSTRUCTIONS:

Step 0: Check the environment setup. (Should installed nodejs,Remove all errors if any).
Step 1: Navigate terminal/command prompt to this directory.
Step 2: Run command: node FILE_NAME.js;
Step 3: See the message in console log;
Step 4: if executed Step 3 successfully then you have text message according to audio. Otherwise go to Step 0.

*************************************************************/

Shubham Verma

Written by

A full-stack developer, In my free time, I write blogs and play guitar. I am both driven and self-motivated.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade