API Docs for:
Show:

File: speech.js

//*******************************************************************************
// * Copyright (c) 2017 Genialist Software Ltd.
// * All rights reserved.
// ******************************************************************************/

var colors = [ 'aqua' , 'azure' , 'beige', 'bisque', 'black', 'blue', 'brown', 'chocolate', 'coral' ];
var g = '#JSGF V1.0; grammar colors; public <color> = ' + colors.join(' | ') + ' ;'

g += 'public <goto> = "go to" | open ; ';
g += 'public <goto-movies> = <goto> movies ; ';

const pSpeech = (new function() {
	var that = this;
	this.tracePrefix = 'Speech';
	
	window.onerror_noalert = true;
	
	var SpeechRecognition = SpeechRecognition || window.webkitSpeechRecognition;
	var SpeechGrammarList = window.SpeechGrammarList || window.webkitSpeechGrammarList;
	//var SpeechRecognitionEvent = SpeechRecognitionEvent || webkitSpeechRecognitionEvent;
	
	if (SpeechRecognition) {
		var recognition = new SpeechRecognition();
		var speechRecognitionList = new SpeechGrammarList();
		
		speechRecognitionList.addFromString(g, 1);
		
		recognition.grammars = speechRecognitionList;
		//recognition.continuous = false;
		recognition.lang = 'en-US';
		recognition.interimResults = false;
		recognition.maxAlternatives = 1;
		
		recognition.start();
		
		recognition.onresult = function(event) {
		  var last = event.results.length - 1;
		  var color = event.results[last][0].transcript;
		  console.log('Result received: ' + color + '.');
		  console.log('Confidence: ' + event.results[0][0].confidence);
		}
		
		pConsole.info(that, 'Initialization... Done.');
	}
	else
		pConsole.info(that, 'Disabled.');
});

/******************************************************************************/
/***  END OF FILE  ************************************************************/
/******************************************************************************/