swirec_max_arcs

Specifies the maximum number of active FSM arcs.

Value

Integer: 1–INT_MAX arcs. As many as three values are allowed.

DEFAULT: 10000, 5000, 3000

The defaults are set liberally to avoid limiting the arcs on small and medium grammars.

How to set

Shown in precedence order (see Rules of parameter precedence):

Set in the browser, using the Vendor-Specific-Parameters header in a RECOGNIZE method.

In a parameter grammar.

In a grammar using a <meta> tag (see the text on recognition-time parameters in Parameters set in grammar files).

In the application's session xml in the <speechrecog> section of <sessionparameters>.

If using Management Station set in the service configuration file. (You cannot set the value via the Management Station user interface.) To identify the service configuration file name, use Management Station to display the Service Information page (by selecting the recognition service) then get the filepath in the Command Line details. If not using Management Station, set in a Recognizer configuration file (User-nrsxx.xml).

Usage

This is an advanced feature for developers who are familiar with Recognizer and its underlying models. It tunes the Recognizer’s search for matches.

Performance

Changing the default value can seriously impair accuracy and confidence. Correct usage can get excellent improvements. After changing the value, you must thoroughly test recognition accuracy before applying the change to a production system.

This parameter defines the maximum number of FSM (finite state machine) arcs that can be active at any time. It guides the histogram pruning algorithm to dynamically adjust the state beam to control the total number of active arcs. A typical use is to prevent excessive searching caused by non-speech noise on the audio channel.

This parameter specifies as many as three possible values. The value used depends on the setting of the swirec_load_adjusted_speedvsaccuracy parameter and on the system load at recognition time. When the speed versus accuracy parameter is turned on, Recognizer automatically refines and improves recognition results by using extra CPU cycles if they are available. By default, Recognizer uses the first value defined and then it uses the second or third value as CPU load increases. (The CPU thresholds are labeled as idle, normal, and busy.) If fewer than three values are specified, the value in the final position is assumed to be repeated.

Browsers usually set this parameter in a RECOGNIZE request, and the parameter automatically reverts to the previous value after the recognition event. (Alternatively, browsers can use the SET-PARAMS method. See Configuring Recognizer with the browser.)

Vendor-Specific-Parameters: swirec_max_arcs=10000 5000 3000

Sample definition in a grammar file, which is the most typically usage for application developers because it sets values on a specific grammar instead of all grammars:

<meta name="swirec_max_arcs" content="10000 5000 3000"/>

Below is a sample definition in the <speechrecog> section of a session.xml file. Typically, it is not necessary to set this parameter with this technique because the Recognizer default values are sufficient:

<param name="swirec_max_arcs">
<value>10000</value>
<value>5000</value>
<value>3000</value>
</param>

Related parameters