Voice command tool for an easy web speech recognition for your web application. In "Minority Report" style
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Speechy helps you connect your application entities and their pages to your users voice. It simplifies the recognition workflows, as it focuses you on basic sentence constructs - verbs, nouns and attributes. Using sentence constructs, you can easily lead the user to the wanted page, product or even product list without typing and clicking -- in Minority Report style.

Important note!

Speechy is a wrapper around Web speech API -- to ease up building speech recognition for your frontend app. Currently, the only browsers which have implemented that feature, are Chrome, along with its Chrome Mobile and Samsung.

How does it work

Example request:

  1. Double press the button S on your keyboard
  2. Say:

Open a user with id 45

Example response:

  verb: 'open'
  noun: 'user',
  attribute: {
    name: 'id',
    type: 'number',
    value: '5'
  isConstructed: true

With this response, you can, for example, lead the user to your to page /users/5

In case of a wrong pronunciation or undetected verbs/nouns, you would just get

  isConstructed: false


Setup is easy! Its just 4 easy steps

  1. Include speechy.js as a dependency (whichever way you want)
  2. Set the language, verbs, noun and attributes you want to detect:
var language = 'en-US';

var verbs = [

var nouns = [

var attributes = [
  { name: 'id', type: 'number' },
  { name: 'list' }

var cancelPhrase = 'stop';
  1. Set the required handler for the construct before initializing Speechy
Speechy.onConstructParsed = function (construct){
  console.log(construct); // do whatever you like with the received construct
  1. Initialize Speechy with the constructs:

Speechy.init(language, verbs, nouns, attributes, cancelPhrase);

Double press S and voila!

Supported languages

Click to see supported languages