Skip to content

Latest commit

 

History

History
178 lines (151 loc) · 3.63 KB

File metadata and controls

178 lines (151 loc) · 3.63 KB

API

$speechRecognition

onstart(fn)

On start event.

$speechRecognition.onstart(function(e){
    // onstart
});

onerror(fn)

On error event.

$speechRecognition.error(function(e){
    // onerror
});

onUtterance(cb)

On recognised utterance callback.

$speechRecognition.onUtterance(function(utterance){
    console.log(utterance); // buy a milk
});

setLang(lang)

Set recognition language.

$speechRecognition.setLang('en-US');

To change language when recognition is already running you need to also restart recognizer:

$speechRecognition.stopListening();
$speechRecognition.listen();

getLang()

Get recognition language.

$speechRecognition.getLang(); // 'en-US'

payAttention()

Continue speech recognition after pause caused by ignore(). You don't need user permision again.

$speechRecognition.payAttention();

ignore()

Pause speech recognition.

$speechRecognition.ignore();

listen()

Start speech recognition. User permission is required.

$speechRecognition.listen();

stopListening()

Stop speech recognition.

$speechRecognition.stopListening();

command(utterance)

Call uterance manually.

$speechRecognition.command('do something');

listenUtterance(tasks)

Add listener for task

var task = {
    'regex': /^do .+/gi,
    'lang': 'en-US',
    'call': function(utterance){
      // do something with utterance 'do something'
    }
};
$speechRecognition.listenUtterance(task);

$speechSynthetis

speak(text, lang)

Speak utterance.

$speechSynthetis.speak('Hello there!', 'en-US');

justSpoke()

Return true after speak() has been called.

$speechSynthetis.justSpoke(); // true or false

recognised()

Manualy mark speechSynthetis voice as recognised. justSpoke will be true.

$speechSynthetis.recognised();

$speechCorrection

Correct speech recognition. After incorrect recognition utterance will be corrected.

addUtterance(utterance, correction, lang)

Create a key - value pair with incorret recognition, correction and language.

$speechCorrection.addUtterance('to something', 'do something', 'en-US');

removeUtterance(utterance, lang)

Remove utterance correction.

$speechCorrection.removeUtterance('to something', 'en-US');

addLangMap(lang, map)

Add complete correction map for a language.

var map = {
    'to something': 'do something',
    'pseudo make me a sandwich': 'sudo make me a sandwich'
};
$speechCorrection.addUtterance('en-US', map);

clearLangMap(lang)

Remove language map.

$speechCorrection.clearLangMap('en-US');

getCorrectionMap()

Get correction map for all languages.

$speechCorrection.getCorrectionMap();
//  {
//      'en-US: {
//          'to something': 'do something',
//          'pseudo make me a sandwich': 'sudo make me a sandwich'
//      }
//  }

getLangMap(lang)

Get correction map for a language.

$speechCorrection.getCorrectionMap('en-US');
//  {
//      'to something': 'do something',
//      'pseudo make me a sandwich': 'sudo make me a sandwich'
//  }

getCorrection(utterance, lang)

Get a single utterance correction.

$speechCorrection.getCorrection('pseudo make me a sandwich', 'en-US'); // 'sudo make me a sandwich'

speechrecognition directive

Add listener to html element.

  • tasks: configuration object (remove something)
  • reference: element reference name (something)
<li ng-repeat="todo in todos | filter:statusFilter track by $index" speechrecognition="{'tasks': recognition['en-US']['listTasks'], 'reference': todo}">
    {{todo}}
</li>