This chapter describes the VoiceXML properties that can be set with the <property> tag. See:
| | Property Summary for an overview of the properties, grouped by function |
| | Property Index for an alphabetical list of all properties |
Each property description explains what the property does, what possible values the property may have, and what default value is used if the application does not set the property.
In the cases where the BeVocal VoiceXML interpreter deviates from the VoiceXML 2.0 Specification, the difference is clearly marked below in the following ways:
Properties control the following facet of the interpreter.
The following table lists the properties in alphabetical order.
This section contains property descriptions is alphabetical order.
The audiofetchhint property tells the interpreter whether it can attempt to optimize dialog interpretation by prefetching audio files. The value is one of:
| | safe--Fetch audio files only when they are needed, never before. |
| | prefetch--Permit, but do not require, the interpreter to prefetch audio files. |
The default value is prefetch.
New in VoiceXML 2.0. The audiomaxage property specifies the maximum acceptable age, in seconds, of cached audio resources. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
An unexpired cached file that does not exceed the maximum age will be used; a cached file that exceeds the maximum will be fetched again.
When no value is set for this property:
| | If the <vxml> tag's version attribute is 2.0 or greater, unexpired cached audio files are used. |
| | If the <vxml> tag's version attribute is 1.0, the caching property controls whether unexpired cached audio files are used. |
By default, no value is set for this property.
New in VoiceXML 2.0. The audiomaxstale property specifies the maximum acceptable time, in seconds, during which expired cached audio resources can still be used. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
A cached file that has been expired for more that the maximum stale time will be refetched; one that has been stale for less than or equal to the maximum stale time will be used.
The default value is 300 seconds (5 minutes). This default results in much faster performance for most applications, since it greatly reduces the number of times the interpreter must send Get-If-Modified requests to the HTTP server. If you want the behavior defined in the VoiceXML specification (always do a Get-If-Modified request if there was no Expires header), set audiomaxstale to 0.
The bargein property indicates whether the user can "barge in" during prompts and audio output from the application. Set this property to true to allow barge-in; set it to false to disallow barge-in.
When this property is set to false, any DTMF input buffered in a transition state is deleted from the buffer. It is not saved for use in the next recognition state.
New in VoiceXML 2.0. The bargeintype property indicates what kind of input can interrupt the prompt or audio output. This property is relevant only when bargein is true.
| | hotword--User input that doesn't match the grammar is ignored and only speech that matches a grammar can interrupt the prompt. |
| | speech--Any user utterance can interrupt the prompt. |
Inside a bridge transfer, the value of the bargeintype property is ignored. For a bridge transfer, the bargein type is always hotword.
If this property is set to hotword, the bevocal.hotwordmax and bevocal.hotwordmin properties determine how long a hotword utterance can be.
Extension. The value of the bevocal.audio.capture property controls whether the interpreter captures spoken audio for each recognition.
If this property is true, the interpreter captures spoken audio; if this property is false, the interpreter does not capture audio.
The captured audio is available to the application in variables:
You can send the captured audio to a server using a <data> element. Doing so is useful if you need a record of the user's speech for legal reasons.
You can also access captured utterance files for later analysis, using the Media Access Service. For this purpose, you may want to use the bevocal.utterance.prefix property to modify the filenames of the utterance files.
Note: Capturing audio causes a minor delay after each speech recognition for which bevocal.audio.capture is true. You should set this property to true only locally inside specific fields in which the capability is needed.
The value of the bevocal.audio.outputvolume property controls the output volume from the platform. Higher values play the audio prompts louder. You may need to tune this property upward if you expect your application to be used in noisy environments.
This property is non-functional on VoIP-based media gateways.
The default value is 0.5. The minimum is 0.0 and the maximum is 1.0.
Extension. The bevocal.dtmf.flushbuffer property controls whether or not DTMF key presses that are queued during the transitioning state are available for the next recognition state.
If this property is true, the DTMF buffer is cleared upon entering the next recognition state. If false, the keys in the buffer are used for recognition in the next recognition state.
For more details, see Collecting Input and Playing Prompts.
Extension. The bevocal.fetchaudio.allfetches property controls whether background audio is played during the execution of a BeVocal VoiceXML extension tag that performs a fetch.
If this property is true, any background audio is played during execution of a BeVocal VoiceXML extension tag. If this property is false, the background audio is not played for extension tags.
Currently <data> is the only tag for which this property is relevant.
Extension. The bevocal.fetchaudio.extend property controls whether background audio is played until the next audio event.
If this property is false, any background audio is played until the fetch operation completes. If this property is true, the background audio is continued until the next audio event, for example, a prompt played by the interpreter, or user input that triggers speech recognition.
Setting bevocal.fetchaudio.extend to true can give your application a more seamless audio interface.
Extension. The bevocal.fetchaudio.flushqueue property allows queued prompts to be played during fetches even if the fetchaudio property is not set.
If the bevocal.fetchaudio.flushqueue property is true then the behavior of playing queued prompts is as if the fetchaudio property is set. That is, when true, queued prompts will be played during a <goto>, <submit>, or other operation which fetches VoiceXML data (or in a special case <data>). When false then queued prompts will be played or not played during fetches based on the fetchaudio property. See Queued Prompts when Fetching.
Extension. The bevocal.fetchaudio.sounds property controls whether the interpreter plays a sound before and after playing background audio.
If this property is true, a short sound is played just before and after the background audio. If this property is false, background audio is played without any sounds to delimit its start and end.
If you sent any bevocal.sounds.* properties to true, you may wish to set this property to true also. See bevocal.sounds.recognition and bevocal.sounds.listening.
Extension. The bevocal.finaltimeout property is the amount of time to wait for additional input after the speech-recognition engine has recognized speech which matches one of the input grammars but that match is not the longest legal match. That is, the user has said something that matches the grammar, but if he continues speaking, the longer utterance might also match the grammar.
This property interacts with the completetimeout and incompletetimeout properties. Consider the following very simple ABNF grammar:
#ABNF 1.0; $rule = why hello [world];
Which property is in play depends upon what the user has said up until this point:
The default value is 0.75s; that is, three-quarters of a second.
Extension. The bevocal.goback property specifies whether the parent element is a legal go-back destination. Set this property to true to make the parent element a legal go-back destination; set it to false to disallow going back to the parent element.
You can set this property to false in a form to disable the go-back facility in that form. You can set it to false in a document to disable the go-back facility in that entire document.
Note: The go-back facility is an experimental extension to BeVocal VoiceXML. See Go-Back Facility.
bevocal.grammar.interpretationtype
Extension. The bevocal.grammar.interpretationtype property specifies whether to use the NL engine in standard mode (full) or in robust mode (robust).
Setting this property to robust facilitates the NL engine's interpretation of more spontaneous utterances from SLM grammars.
Note: This property is relevant only when recognizing against SLM grammars. It should always be set to its default value when recognizing against conventional grammars. For information on using SLM grammars, see Chapter 8, "Nuance SayAnything Grammars" in the Grammar Reference.
You should set this property to robust only for recognizing against SLM grammars. You should set it back to full when recognizing against normal grammars.
bevocal.grammar.phoneticpruning
Extension. The bevocal.grammar.phoneticpruning property specifies whether the recognizer should perform phonetic pruning. For SLM grammars, set this parameter to true except for grammars with small vocabularies.
Note: This property is relevant only when recognizing against SLM grammars. It should always be set to its default value when recognizing against conventional grammars. For information on using SLM grammars, see Chapter 8, "Nuance SayAnything Grammars" in the Grammar Reference.
Extension. The bevocal.grammar.weightfactor property controls the relative weighting of acoustic and linguistic scores during recognition.
As this value increases, the recognizer runs faster and hence the value of the speedvsaccuracy property should be increased to get better recognition.
The corresponding speech engine property is in the range between 0 and 100. For well-trained SLM grammars, the optimum value is between 0.58 and 0.6, corresponding to the range of 9-10 in the speech engine.
Note: This property is relevant only when recognizing against SLM grammars. It should always be set to its default value when recognizing against conventional grammars. For information on using SLM grammars, see Chapter 8, "Nuance SayAnything Grammars" in the Grammar Reference.
The default value is 0.5. This maps to a setting of 5 in the speech engine.
bevocal.grammar.wordtransitionpenalty
Extension. The bevocal.grammar.wordtransitionpenalty property controls the word transition weight. This is the trade-off between inserted and deleted words. For SLM based grammars, the optimal value is in the range 0 to -50.
Note: This property is relevant only when recognizing against SLM grammars. It should always be set to its default value when recognizing against conventional grammars. For information on using SLM grammars, see Chapter 8, "Nuance SayAnything Grammars" in the Grammar Reference.
Extension. The bevocal.hotwordmax property specifies the maximum time duration of an utterance that can be recognized as a request to interrupt an operation. Recognition of a user utterance can interrupt the following operations:
| | Playing a prompt or audio output when the bargein property is true. |
| | An outbound call performed by a <transfer> element that contains a child grammar. |
| | An outbound call initiated by a <bevocal:dial> element that contains a child grammar. |
If you want to allow users to interrupt with multisyllable words, or multiword commands, you can adjust bevocal.hotwordmax upward.
The default value is 1.7 seconds.
Extension. The bevocal.hotwordmin property specifies the minimum time duration of an utterance that can be recognized as a request to interrupt an operation. Recognition of a user utterance can interrupt the following operations:
| | Playing a prompt or audio output when the bargein property is true. |
| | An outbound call performed by a <transfer> element that contains a child grammar. |
| | During the execution of a <bevocal:listen> element that contains a child grammar. |
If you want to allow users to interrupt only with very short, single-syllable words, you can adjust bevocal.hotwordmin downward.
The default value is 0.1 seconds.
Extension. The bevocal.incrementErrorOnNSP property specifies whether to count "no speech" timeouts (NSP) as an error. If the property is set to a value of false, the NSPs are not counted as errors.
Extension. The bevocal.locale property specifies the locale to use for recognition, allowing the application to switch to a different locale within a document. The value must be a legal language identifier as identified by an RFC 3066 code. BeVocal currently supports English and Spanish. Valid values are:
| | en--English |
| | en-US--United States English |
| | es--Spanish |
| | es-US--United States Spanish |
| | fr-ca--French Canadian |
The default value is en-US. If an unsupported language is specified, an error.unsupported.language event is thrown.
Note: The xml:lang attribute of the <vxml> tag overrides the value of this property. Also, this property may be deprecated in a future release. Therefore, as a rule, you should use the xml:lang attribute of the <vxml> tag for specifying a locale.
Extension. The bevocal.logging property allows you to control whether all user input is recorded to the trace log which you see when you use the Log Browser tool. The value is one of:
| | true--all user input is recorded in the log. |
| | false--user input is not recorded. |
If you want to prevent recording user input a particular field, dialog, or document for security reasons, you can set this property to false.
Extension. The value of the bevocal.maxdialogerrors property is the maximum number of speech errors that can occur within a particular execution of a dialog. A speech error is either a recognition error, which normally results in a no-match event, or a timeout while waiting for user input, which normally results in a no-input event.
If you set the bevocal.maxdialogerrors property to 5, then on the fifth error in a particular form, an error.bevocal.maxdialogerrors_exceeded event is thrown (instead of a no-match or no-input event).
The default value is 50. The minimum value is 1.
Extension. The value of the bevocal.maxerrors property is the maximum number of speech errors that can occur during the entire call. A speech error is either a recognition error, which normally results in a no-match event, or a timeout while waiting for user input, which normally results in a no-input event.
If you set the bevocal.maxerrors property to 10, then on the tenth error in the call, an error.bevocal.maxerrors_exceeded event is thrown (instead of a no-match or no-input event).
The default value is 100. The minimum value is 1.
Extension. The value of the bevocal.maxinterpretations property is used to enable or disable multiple interpretations:
| | If the value is undefined or less than 1, both multiple-recognition features are controlled by the maxnbest property. If maxnbest is 1, both features are disabled; if maxnbest is greater than 1, both features are enabled. |
| | If the value is 1, multiple interpretations are disabled (independently of whether N-best recognition is enabled). |
| | If the value is greater than 1, multiple interpretations are enabled (independently of whether N-best recognition is enabled). |
For additional information about multiple recognition results, see Chapter 5, Using Multiple-Recognition.
The value of bevocal.maxinterpretations is used in combination with the value of maxnbest to determine the maximum number of results that can be returned by the speech-recognition engine. See Maximum Array Size.
The default value is undefined.
Extension. The value of the bevocal.mingoback property is the minimum size of the go-back stack. The interpreter keeps at least this many entries on the stack, except at the beginning of the call when fewer steps have been executed, and after the user has said "go back" so many consecutive times that the stack has been depleted.
Note: The go-back facility is an experimental extension to BeVocal VoiceXML. See Chapter 7, Go-Back Facility.
The default value is 0, meaning that the go-back stack is always empty and the go-back facility is effectively disabled.
Extension. The bevocal.securelogging.enabled property allows you to control whether the log files and utterance files associated with the call are encrypted before being printed to the log. If secure logging is enabled and utterances are captured, then the captured utterances are also encrypted.
| | true--log contents are encrypted. |
| | false--log contents are not encrypted. |
Note: If securelogging is enabled for a particular call, you will not be able to use VocalPlayer to listen to the call. You must download the desired files using the Media Access and Vendor Log Platform Services and decrypt them locally.
For more information on secure logging, see bevocal.securelogging.key.
Extension. For secure logging, you must provide a public part of the public/private key pair using the bevocal.securelogging.key property. The public part of the key must be specified in Base64 encoded format. For example:
<property name="bevocal.securelogging.key" value="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDfG7T9R3YGMKlw4SnlWUSYqhDDxhWN9S oLOdGKQ1JctTQf0uvh8HJjuC8EO+a44kfS+5z7PrI9n5MM3D8Sb+6jsEgZqe6NqWzqEXhlOehfchMD kls6Mr7wLhECaZnFEjDvLKQ404McPtDEynhpvKlJKlRzcx3O/ROh1A0J9/eDwIDAQAB"/>
If you are using an implementation of Java Cryptography Extension (JCE) to generate a public/private key pair, get the encoded bytes of the public key and do a Base64 encode of the bytes.
If you are using OpenSSL to create a public/private key pair, generate the key in DER format and encode the binary bytes with Base64 encoding. Alternately, you can copy the ASCII string from a PEM-formatted version of the key, which is effectively a Base64 representation of the DER format.
The BeVocal VXML Interpreter generates a sessionKey and encrypts it using this public key using the RSA/ECB/OAIPPadding algorithm. This public/private encryption has been tested with Bouncy Castle's implementation of JCE.
Using the sessionKey, the relevant parts of the log are encrypted and printed to the log. The encrypted sessionKey is printed to the log in HEX format. You decrypt the sessionKey using the private key and then decrypt the log contents using the DESEDE/ECB/PKCS5Padding algorithm.
Extension. Access to BeVocal Platform services and to certain features of the interpreter is restricted with a 128-bit security key. To use such features, you must set the value of this property to your key.
The Enrollment Facility uses a security key. In this case, applications using one security key are prevented from accessing enrollment grammars created by an application using a second key. When you develop applications for one of BeVocal's commercial hosting services such as Enterprise Hosting, you will need a security key in order to use enrollment. When you develop on Café, you can use enrollment without a key; however there are limitations. For details, see Chapter 9, Voice Enrollment Grammars in the Grammar Reference.
By default, no value is set for this property.
Extension. The value of the bevocal.sounds.listening property controls whether the interpreter plays background music while listening for user input.
If this property is true, the interpreter starts to play background music after playing a prompt; it stops when the user responds or when the timeout occurs, before throwing a no-input event. If this property is false, the interpreter does not play music while waiting for user input.
bevocal.sounds.maskrecognitionlatency
Extension. This property indicates whether, after an utterance, a sound clip is played back until the recognition result is returned. Use this property when you expect latencies from large grammars.
If the value is true, then the sound clip is played. If the value is false, then nothing is played back.
The sound clip played is determined by the fetchaudio property. The fetchaudiodelay property determines the minimum time to wait before the sound clip begins. The fetchaudiominimum property determines the minimum time to play the sound clip once it is started.
Extension. The value of the bevocal.sounds.recognition property controls whether the user is given audio feedback that speech recognition was successful.
Set this property to true to play a short sound after each successful recognition. This sound lets the user know that the input has been heard, which makes the application seem more responsive to typical users. If this property is false, no sound is played after successful recognition.
bevocal.transfer.terminatetones
Extension. This property exists because DTMF grammars are not supported during transfer. This property defines the DTMF sequences which can terminate a bridged <transfer> (or <dial>). The value can be string of DTMF tones to recognize, or a space-delimited list of such strings. The DTMF tones are identified by their numeric or string value. For example:
<property name="bevocal.transfer.terminatetones" value="12345 ***"/>
will terminate the call if the DTMF sequence of "12345" is recognized or the sequence "***".
The default value is the empty string; that is, no tones.
When the call is terminated, a com.bevocal.connection.near_end_disconnect event is thrown and the form item is not filled.
Extension. If utterance capture is enabled in the scope of this property, utterances are available both through the variables discussed with the bevocal.audio.capture property and through audio files when using the Media Access Service.
The filename of a saved utterance is prefixed with the value of this property inside parentheses. For example, if the value of bevocal.utterance.prefix is restaurant, then the filename will start with (restaurant).
This property can help identify an utterance with a specific application context. For example, in an application state that recognizes against a restaurant grammar, you can set the value to restaurant. When control leaves that application state, you can remove the value (by setting it to the empty string) or set it to a new value for the new state. Later, when analyzing audio files using the Media Access Service, you can safely assume that audio files whose names start with (restaurant) contain a restaurant name spoken by a user.
If the underlying platform does not support filenames containing characters used in this property, then the utterance file is not created at all. Consequently, you should only use alphanumeric characters in your prefix.
This property is relevant only if you have bevocal.audio.capture set to true.
The default value is NONE; that is, by default filenames start with (NONE).
Extension. The name of the voice to be used for speaking prompts. In a previous BeVocal VoiceXML version, this applied to only the TTS voice used. Now the same property can be used to specify Recorded Voices.
See Chapter 8, TTS and Recorded Voice Selection for details.
The default value is the empty string, requesting the interpreter to use the most appropriate voice for each type.
bevocal.vxml.maxrecognitionlatency
The bevocal.vxml.maxrecognitionlatency property controls the maximum amount of time that the platform will wait for the recognizer to recognize any one utterance. If this time is exceeded, a NOMATCH is thrown. The default value is 15 seconds.
VoiceXML 1.0 only. If the <vxml> tag's version attribute is 1.0, the caching property controls the use of unexpired cache files when the relevant maximum-age property is not set. The caching property can be set to either safe to ignore any cached file when fetching, or fast to use any cached file instead of fetching.
Note: The caching property is ignored when the <vxml> tag's version attribute is 2.0 or greater. In that case, the application uses an unexpired cached copy of a file if the relevant maximum-age property is not set.
The value of the completetimeout property is the amount of time to wait for additional input after the speech-recognition engine has recognized speech matching one of the input grammars.
See bevocal.finaltimeout for a description of how the completetimeout property interacts with the bevocal.finaltimeout and incompletetimeout properties. See Appendix D of the VoiceXML 2.0 specification for a description of how the timeout property interacts with the completetimeout and incompletetimeout properties.
The default value is 0.5 seconds. The minimum possible value is 0.1 seconds and the maximum possible value is 10 seconds.
The value of the confidencelevel property is the confidence threshold required for the speech-recognition engine to decide whether the input speech matches a grammar.
In practice, most applications use a confidencelevel very near the default value of 0.5. The minimum is 0.0 and the maximum is 1.0.
The default value of 0.5 maps to 35% confidence in the Nuance speech-recognition engine. Setting this property higher will result in fewer false recognitions at the cost of many more no-match events. Setting it lower will reduce the number of no-match events at the risk of more false recognitions.
Extension. The datafetchhint property tells the interpreter whether XML data files may be prefetched. The value is one of:
| | safe--Fetch XML data files only when they are needed, never before. |
| | prefetch--Permit, but do not require, the interpreter to prefetch XML data files. |
Extension. The datamaxage property specifies the maximum acceptable age, in seconds, of cached XML data files. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
An unexpired cached file that does not exceed the maximum age will be used; a cached file that exceeds the maximum will be fetched again.
When no value is set for this property:
| | If the <vxml> tag's version attribute is 2.0 or greater, unexpired cached data files are used. |
| | If the <vxml> tag's version attribute is 1.0, the caching property to controls whether unexpired cached data files are used. |
By default, no value is set for this property.
Extension. The datamaxstale property specifies the maximum acceptable time, in seconds, during which expired cached XML data files can still be used. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
A cached file that has been expired for more that the maximum stale time will be refetched; one that has been stale for less than or equal to the maximum stale time will be used.
The default value is 0 seconds.
The documentfetchhint property tells the interpreter whether VoiceXML documents may be prefetched. The value is one of:
| | safe--Fetch document files only when they are needed, never before. |
| | prefetch--Permit, but do not require, the interpreter to prefetch document files. |
New in VoiceXML 2.0. The documentmaxage property specifies the maximum acceptable age, in seconds, of cached VoiceXML document files. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
An unexpired cached file that does not exceed the maximum age will be used; a cached file that exceeds the maximum will be fetched again.
When no value is set for this property:
| | If the <vxml> tag's version attribute is 2.0 or greater, unexpired cached VoiceXML document files are used. |
| | If the <vxml> tag's version attribute is 1.0, the caching property to controls whether unexpired cached document files are used. |
By default, no value is set for this property.
New in VoiceXML 2.0. The documentmaxstale property specifies the maximum acceptable time, in seconds, during which expired cached VoiceXML document files can still be used. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
A cached file that has been expired for more that the maximum stale time will be refetched; one that has been stale for less than or equal to the maximum stale time will be used.
The default value is 0 seconds.
The value of the fetchaudio property is the URI of the audio clip to play while waiting for a resource to be fetched. This property affects the fetching of some, but not all, resource types:
| | This property is relevant when the interpreter fetches VoiceXML documents with the tags: <choice>, <goto>, <link>, <subdialog>, and <submit>. |
| | Extension. If the bevocal.dtmf.flushbuffer property is true, this property affects the fetching of XML data with the <data> tag. |
| | Background audio is never played while the interpreter fetches grammar, audio, or script files. |
The default value is not to play any audio.
New in VoiceXML 2.0. The value of the fetchaudiodelay property is the amount of time to wait after a VoiceXML download is started before its fetchaudio source is played in the background. This property is useful if you want a short period of silence before the audio starts playing. If the download completes during the period of silence, the audio will not be played at all.
The default value is 0 seconds.
New in VoiceXML 2.0. The value of the fetchaudiominimum property is the minimum time interval to play the fetchaudio source, once started, even if the fetch operation completes during play.
If the value is greater than 0, it prevents the user from hearing a short clip of background audio which is immediately cut off.
The default value is 0 seconds. With the default value, the interpreter interrupts the audio playback as soon as the resource is fetched, and resumes normal processing
The value of the fetchtimeout property is the timeout period for fetches. The interpreter will wait this long for the resource to be returned before throwing an error.badfetch event. The value is a time interval expressed as an unsigned number followed by s for time in seconds; ms for time in milliseconds (the default).
If you set this property to 0, the interpreter waits indefinitely.
The default value is 1 minute.
The grammarfetchhint property tells the interpreter whether grammars may be prefetched. The value is one of:
| | safe--Fetch grammar files only when they are needed, never before. |
| | prefetch--Permit, but do not require, the interpreter to prefetch grammar files. |
The default value is prefetch.
New in VoiceXML 2.0. The grammarmaxage property specifies the maximum acceptable age, in seconds, of cached grammar resources. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
An unexpired cached file that does not exceed the maximum age will be used; a cached file that exceeds the maximum will be fetched again.
When no value is set for this property:
| | If the <vxml> tag's version attribute is 2.0 or greater, unexpired cached grammar files are used. |
| | If the <vxml> tag's version attribute is 1.0, the caching property to controls whether unexpired cached grammar files are used. |
By default, no value is set for this property.
New in VoiceXML 2.0. The grammarmaxstale property specifies the maximum acceptable time, in seconds, during which expired cached grammar resources can still be used. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
A cached file that has been expired for more that the maximum stale time will be fetched again; one that has been stale for less than or equal to the maximum stale time will be used.
The default value is 0 seconds.
The value of the incompletetimeout property is amount of time to wait for additional speech input when the user has begun speaking but the input does not yet match a complete grammar.
The default value is 1.5 seconds. The minimum possible value is 0.2 seconds and the maximum possible value is 10 seconds.
See bevocal.finaltimeout for a description of how the completetimeout property interacts with the bevocal.finaltimeout and incompletetimeout properties. See Appendix D of the VoiceXML 2.0 specification for a description of how the timeout property interacts with the incompletetimeout and completetimeout properties.
The inputmodes property specifies which input modes to enable: dtmf and/or voice.
To disable speech recognition, set inputmodes to dtmf. To disable DTMF, set it to voice.
To enable both input modes again after disabling one, specify both values, separated by a space:
inputmodes="dtmf voice"
| | To turn off speech recognition in noisy environments. |
| | To conserve speech recognition resources by turning them off where the all input is expected to be DTMF. |
The default value is "dtmf voice"; that is, accept both DTMF and voice input.
The value of the interdigittimeout property is the amount of time that the speech-recognition engine waits for another DTMF digit before it decides that the user has finished entering digits and returns a recognition or a no-match event.
The default value is 3 seconds.
The interpreter uses a combination of the interdigittimeout, timeout, termtimeout, and termchar properties for DTMF recognition, as described here:
| Under these conditions... | The interpreter does this... | ||||||
|
|||||||
|
Recognition immediately ends and the interpreter either returns the valid input or throws a no-match event |
||||||
|
|||||||
|
|||||||
|
|||||||
|
Waits |
New in VoiceXML 2.0. The value of the maxnbest property is used to enable or disable N-best recognition. If the value is 1, N-best recognition is disabled; if the value is greater than 1, N-best recognition is enabled. For additional information about multiple recognition results, see Chapter 5, Using Multiple-Recognition.
Depending on the value of the bevocal.maxinterpretations property, maxnbest may also enable or disable multiple interpretations:
| | If bevocal.maxinterpretations is undefined or less than 1, the maxnbest property enables and disables both N-best recognition and multiple interpretations together. |
| | If bevocal.maxinterpretations is 1 or greater, the maxnbest property enables and disables N-best recognition alone; the value of bevocal.maxinterpretations determines whether multiple interpretations are enabled. |
The value of maxnbest is used in combination with the value of bevocal.maxinterpretations to determine the maximum number of results that can be returned by the speech-recognition engine. See Maximum Array Size.
Note: As the value of the maxnbest property increases, recognition can slow dramatically, because the speech-recognition engine is unable to prune lower-confidence hypotheses until much later in the recognition process.
|
|||||
|
|||||
|
This property specifies maximum duration of user speech. If this time elapsed before the user stops speaking, the maxspeechtimeout event is thrown.
The default duration is 6 seconds.
The value of the recordutterance property controls whether the interpreter captures spoken audio for each recognition. This property is equivalent to the bevocal.audio.capture property.
If this property is true, the interpreter captures spoken audio; if this property is false, the interpreter does not capture audio.
The captured audio is available to the application in variables:
| | When a successful recognition occurs for a field, the audio capture is available in the audio property of the field's shadow variable (fieldname$.audio) and in the application variable application.lastaudio$. |
| | When a no-match event occurs in a field, the audio capture is available in application.lastaudio$ only; fieldname$.audio is cleared. |
| | When a no-input event occurs in a field, both application.lastaudio$ and fieldname$.audio are cleared. |
| | When the user's speech successfully matches a form grammar, a menu choice, or a link grammar, the audio capture is available in application.lastaudio$. |
You can send the captured audio to a server using a <data> element. Doing so is useful if you need a record of the user's speech for legal reasons.
You can also access captured utterance files for later analysis, using the Media Access Service. For this purpose, you may want to use the bevocal.utterance.prefix property to modify the filenames of the utterance files.
Note: Capturing audio causes a minor delay after each speech recognition for which recordutterance is true. You should set this property to true only locally inside specific fields in which the capability is needed.
The recordutterancetype property allows an application to record an utterance in a specified MIME type. BeVocal strongly recommends that this property is not used, as it causes unnecessary delays in transcoding the audio files.
Supported media type values for the recordutterancetype property are:
| Value | Description |
The default value is audio/x-wav.
The scriptfetchhint property tells the interpreter whether scripts may be prefetched or not. The value is one of:.
| | safe--Fetch script files only when they are needed, never before |
| | prefetch--Permit, but do not require, the interpreter to prefetch script files. |
The default value is prefetch.
New in VoiceXML 2.0. The scriptmaxage property specifies the maximum acceptable age, in seconds, of cached script resources. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
An unexpired cached file that does not exceed the maximum age will be used; a cached file that exceeds the maximum will be fetched again.
When no value is set for this property:
| | If the <vxml> tag's version attribute is 2.0 or greater, unexpired cached script files are used. |
| | If the <vxml> tag's version attribute is 1.0, the caching property to controls whether unexpired cached script files are used. |
By default, no value is set for this property.
New in VoiceXML 2.0. The scriptmaxstale property specifies the maximum acceptable time, in seconds, during which expired cached script resources can still be used. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
A cached file that has been expired for more that the maximum stale time will be refetched; one that has been stale for less than or equal to the maximum stale time will be used.
The default value is 0 seconds.
Extension. The ssmlfetchhint property tells the interpreter whether SSML documents may be prefetched. The value is one of:
| | safe--Fetch SSML files only when they are needed, never before. |
| | prefetch--Permit, but do not require, the interpreter to prefetch SSML files. |
New in VoiceXML 2.0; Extension. The ssmlmaxage property specifies the maximum acceptable age, in seconds, of cached SSML files. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
An unexpired cached file that does not exceed the maximum age will be used; a cached file that exceeds the maximum will be fetched again.
When no value is set for this property, unexpired cached SSML files are used.
By default, no value is set for this property.
New in VoiceXML 2.0; Extension. The ssmlmaxstale property specifies the maximum acceptable time, in seconds, during which expired cached SSML files can still be used. The value is a time interval expressed as an unsigned number followed by s for time in seconds (the default); ms for time in milliseconds.
A cached file that has been expired for more that the maximum stale time will be refetched; one that has been stale for less than or equal to the maximum stale time will be used.
The default value is 0 seconds.
The value of the sensitivity property is the sensitivity of the speech recognition. In effect, this is the "gain" or "input volume" used for the speech input. Higher values will allow the speech-recognition engine to recognize softer speech but will also pick up more background noise. You may need to tune this property downward if you expect your application to be used in noisy environments, or upward if you expect it to be used in very quiet environments.
The default value is 0.5. The minimum is 0.0 and the maximum is 1.0.
The speedvsaccuracy property controls the trade-off between speed and accuracy in the speech-recognition engine. Lower values cause potential results with a low probability to be pruned early in the search process, resulting in faster recognition speed. Higher values retain potential results longer, resulting in slower but more accurate recognitions.
If you have extremely large grammars that cause speech recognition to take too long, you can experiment with lower values for this property. Otherwise, you probably do not need to adjust this property.
The default value of 0.5 maps to a fairly accurate setting (1200 on a scale of 0 to 1400 in the Nuance speech-recognition engine). The minimum is 0.0 and the maximum is 1.0.
The value of the termchar property is the (optional) terminating character for DTMF recognition. If this property is set, the speech-recognition engine will wait termtimeout seconds for the termination character before returning recognized DTMF input.
See interdigittimeout for a description of how the interpreter uses a combination of the interdigittimeout, timeout, termtimeout, and termchar properties for DTMF recognition.
If the termchar property is set, the speech-recognition engine will wait termtimeout seconds for the termination character before returning recognized DTMF input.
See interdigittimeout for a description of how the interpreter uses a combination of the interdigittimeout, timeout, termtimeout, and termchar properties for DTMF recognition
Note: When you have a fixed-length input field with a DTMF grammar, you may wish to set this property to 0 seconds to avoid a pause after the last digit is entered.
The default value is 0 seconds.
The value of the timeout property is the maximum time the application waits for user input. After the specified amount of time has lapsed, the interpreter throws a no-input event.
See Appendix D of the VoiceXML 2.0 specification for a thorough description of the way this property interacts with the completetimeout and incompletetimeout properties. See interdigittimeout for a description of how this property interacts with the interdigittimeout, termtimeout, and termchar properties for DTMF recognition.
The default value is 5 seconds.
New in VoiceXML 2.0. The universals property specifies which universal grammars should be active; it deactivates all other universal grammars. The value is one of:
| | all--make all universal grammars active |
| | none--deactivate all universal grammars |
| | Space-separated list of the universal grammar names--make the specified grammars active; deactivate all other universal grammars. |
The predefined universal grammars are help, exit, cancel and goback. You can define additional universal grammars by setting the universals property in <grammar> elements.
The following <property> element deactivates the help grammar and activates the other predefined universal grammars:
<property name="universals" value="exitcancelgoback"/>
For additional information, see Universal Commands and Grammars.
If the <vxml> tag's version attribute is 2.0 or greater, the default value is none. If the version attribute is 1.0, the default value is all.
| Café Home |
Developer Agreement |
Privacy Policy |
Site Map |
Terms & Conditions Part No. 520-0001-02 | © 1999-2007, BeVocal, Inc. All rights reserved | 1.877.33.VOCAL |