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 ************************************************************/
/******************************************************************************/