# Recognizer functions

The Universal Speech Access API provides the following functions for controlling recognizer operations:

Function | Synchronous/ Asynchronous | Description
saiAddRecognitionGrammar | Synchronous | Adds a grammar definition to the grammar set. The definition is used when defining a grammar and starting a recognizer.
saiCreateRecognizer | Asynchronous | Creates a recognizer instance and allocates recognizer engine resources.
saiDefineGrammarRecognizer | Asynchronous | Defines the grammar set used for a speech recognition process.
saiGetParamRecognizer | Asynchronous | Requests recognizer parameters from the speech server and updates the associated client-side recognizer resource information.
saiGetResultRecognizer | Asynchronous | Requests the recognizer engine to recompute the recognition result based on parameters set with saiAsrSetConfidenceThreshold and saiAsrSetSensitivity.
saiInitRecognitionList | Synchronous | Initializes the grammar list used by saiAddRecognitionGrammar, saiDefineGrammarRecognizer, and saiStartRecognizer.
saiReleaseRecognizer | Synchronous | Releases a recognizer instance and de-allocates recognizer engine resources.
saiSetParamRecognizer | Asynchronous | Sets the recognizer parameters used until the specified recognizer is released.
saiStartRecognizer | Asynchronous | Activates a recognition process.
saiStartTimerRecognizer | Asynchronous | Activates a no-input timer for a recognizer engine.
saiStopRecognizer | Asynchronous | Stops a speech recognition process.