SpeechRecognition: nomatch event

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The nomatch event of the Web Speech API is fired when the speech recognition service returns a final result with no significant recognition.

This may involve some degree of recognition, which doesn't meet or exceed the confidence threshold.

Note: The onnomatch handler does not yet work properly in Firefox — the speech recognition system always returns a positive match, and then guesses at what item in the grammar it found. This is being worked on.

Bubbles No
Cancelable No
Target objects SpeechRecognition
Interface SpeechRecognitionEvent
Event handler property onnomatch

Examples

You can use the nomatch event in an addEventListener method:

var recognition = new webkitSpeechRecognition() || new SpeechRecognition();

recognition.addEventListener('nomatch', function() { 
  console.log('Speech not recognized');
});

Or use the onnomatch event handler property:

recognition.onnomatch = function() { 
  console.log('Speech not recognized'); 
}

Inheritance

The nomatch event implements the SpeechRecognitionEvent interface, which inherits from Event. It therefore has available the properties and methods defined on both these interfaces.

Specifications

Specification Status Comment
Web Speech API
The definition of 'speech recognition events' in that specification.
Draft  

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 33 [1] 44 (44) [2] No support No support No support
Feature Android Chrome Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support ? (Yes)[1] ? 2.5 No support No support No support
  • [1] Speech recognition interfaces are currently prefixed on Chrome, so you'll need to prefix interface names appropriately, e.g. webkitSpeechRecognition; You'll also need to serve your code through a web server for recognition to work.
  • [2] Can be enabled via the media.webspeech.recognition.enable flag in about:config, although note that currently speech recognition won't work on Desktop Firefox — it will be properly exposed soon, once the required internal permissions are sorted out.

See also

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills
Last updated by: fscholz,