Skip to content

A continuous speech recognition module for node.js

Notifications You must be signed in to change notification settings

erlapso/node-speakable

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-speakable

This a fork of node-speakable that works with the WIT.AI API: https://wit.ai

Demo video on what you can achieve using node-speakable: https://my.doctape.com/s/NLHn1z

Description

node-speakable is a continuous speech recognition module for node.js.

Basically, node-speakable is continuous waiting for you to say something and waits until you finally stopped talking. It then emits an speechResult event with an Object() including your Intents. You can then parse the response to trigger some awesome action to happen, like turning on your Philips Hue lights.

If you ever talked to your XBOX360 (kinect) you're already familiar on how a continuous speech recognition system works for you.

How

It's pure JavaScript magic... Ok, not yet! Currently node-speakable needs you to put a binary of sox into the modules (into lib) folder to do the recording. The actual voice recognition is then achieved trough a POST to the the Google Speech API.

Setup

You'll need to ensure that you turn the Google Speech API selection to 'ON' in the API Console. If you don't see it there, you might want to check out this first: http://www.chromium.org/developers/how-tos/api-keys. For the example project, you'll also need to set the environment variable GKEY in your shell to your API key.

Example usage (node example.js)

var Speakable = require('./');

var speakable = new Speakable({key: 'your-WIT-API-key'});
speakable.on('speechStart', function() {
  console.log('onSpeechStart');
});

speakable.on('speechStop', function() {
  console.log('onSpeechStop');
});

speakable.on('speechReady', function() {
  console.log('onSpeechReady');
});

speakable.on('error', function(err) {
  console.log('onError:');
  console.log(err);
  speakable.recordVoice();
});

speakable.on('speechResult', function(recognizedWords) {
  console.log('onSpeechResult:')
  console.log(recognizedWords);
  speakable.recordVoice();
});

speakable.recordVoice();

License

node-speakable is licensed under the MIT license.

Todo / Ideas

  • Allow overwrite of speakable’s defaults (sox path & parameters, etc.)
  • Limit maximum listening time

About

A continuous speech recognition module for node.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%