Speech Client Configuration (client_property.conf)

The client_property.conf file holds the bulk of the configuration for the speech client — the defaults that govern speech recognition (ASR), text-to-speech (TTS), the streaming interface, and grammar handling. It is located by default in mrcp-api/docker/lumenvox.

Each setting is written one per line, in the form PROPERTY_NAME = VALUE. Settings are grouped into sections — [GLOBAL], [SRE], [TTS], [STREAM], and [GRAMMAR] — that correspond to the functional areas they affect. Many values can also be changed at runtime by the client application (using the corresponding PROP_EX_ property), in which case the runtime value overrides the file default for that session.


[GLOBAL]

Global configuration settings for both the Speech Recognition Engine (SRE) and the text-to-speech (TTS) server.

VERSION

Description: Contains information about the version of the software that created the configuration file. Do not modify this.

Possible Values: This should not be modified by users.

LICENSE_SERVERS

Description: The IP address or host name and (optionally) the port of the License Server to use.

Possible Values: A string of IP addresses or host names, each followed optionally by a colon and a port number, separated by semicolons. For example, 127.0.0.1:7569;10.0.0.1:4971 specifies two License Servers — the first at 127.0.0.1 on port 7569, the second at 10.0.0.1 on port 4971.

Default Value: 127.0.0.1:7569 (License Server on the local machine)

LICENSE_CACHE_PERIOD

Description: Licenses acquired from a License Server during port creation are normally released back to the License Server when the port is destroyed. When license caching is enabled, such licenses are not released on port destruction; instead they are held in a cache and reused for a subsequent port creation. This setting controls how long a license is held in the cache. If the cached license is not reused before this period elapses, it is released back to the License Server automatically. Caching improves performance by reducing communication with the License Server. The value specifies the time, in seconds, a released license is cached for use by future license requests.

Possible Values: A positive integer (maximum 3600); 0 disables caching.

Default Value: 30 (seconds)

Note: To disable license caching, set the value to zero.

LOGGING_VERBOSITY

Description: Controls the verbosity of event logging, increasing or decreasing the amount of information logged by the application. Increasing logging verbosity raises CPU usage and should be avoided in production environments where optimal performance is critical.

Possible Values: 1 – 4

  • 1 = Minimal logging. Logs only errors and critical issues.
  • 2 = Medium logging. Logs all non-debug information, including the types covered by minimal logging.
  • 3 = Maximum logging. Logs most types of events, including all informational and debugging activity.
  • 4 = Diagnostic logging. Logs all types of events, including diagnostic information that may be useful to Technical Support staff.

Default Value: 1 (minimal logging)

SSL_VERIFYPEER

Description: Enables or disables verification of a peer’s certificate against a local certificate authority file on HTTPS requests. Set to 0 (disabled) to skip verification for trusted sites.

Possible Values:

  • 0 = Disable verification.
  • 1 = Enable verification.

Default Value: 1 (verification enabled)

CERTIFICATE_AUTHORITY_FILE

Description: The path to the file used to verify peer certificates on HTTPS requests. This file may contain one or more certificate authority (CA) certificates. Set to an empty string to use the default CA certificates file.

Possible Values: A local file system path to a CA certificate file in PEM format.

Default Value: (empty string — use default CA certificate)


[SRE]

Configuration settings for the Speech Recognition Engine.

SRE_SERVERS

Description: Sets which Speech Engine servers are used for processing decodes. After initialization, this value can be changed using PROP_EX_SRE_SERVERS when calling SetPropertyEx from the client application.

Possible Values: A list of IP addresses and optional ports separated by semicolons. For instance, 127.0.0.1;10.0.0.1:5721 specifies a server at 127.0.0.1 using the default port of 5730, and a server at 10.0.0.1 using port 5721.

Default Value: 127.0.0.1 (ASR on the local machine)

LICENSE_TYPE

Description: The default license type to use when creating a port.

Possible Values:

  • Auto
  • SLM
  • SpeechPort
  • VoxLite
  • CPA
  • AMD

If the value is set to Auto, the client auto-selects between SpeechPort and VoxLite, using SpeechPort licenses before VoxLite licenses. If set to SpeechPort, the client draws from the SpeechPort license pool. If set to VoxLite, the client draws from the VoxLite license pool (these licenses allow up to 500 vocabulary items per recognition). SLM, CPA, and AMD licenses are set to use their respective functionality.

After initialization, this value can be changed using PROP_EX_LICENSE_TYPE when calling SetPropertyEx from the client application.

Default Value: Auto

DELAYED_LICENSE_ACQUISITION

Description: When enabled, license acquisition is delayed until a call to LoadGrammar is made. Enabling this mode is not recommended unless using Call Progress Analysis (CPA).

Possible Values:

  • 0 = Disabled
  • 1 = Enabled

Default Value: 0 (delayed license acquisition disabled)

MAX_NBEST_RETURNED

Description: Specifies the maximum number of n-best results returned by the Engine. After initialization, this value can be changed using PROP_EX_MAX_NBEST_RETURNED when calling SetPropertyEx from the client application.

Possible Values: Number of n-best results. Integer from 0 – 10000.

Default Value: 1

DECODE_TIMEOUT

Description: In a non-blocking decode, this is the timeout value, in milliseconds, used by the LV_SRE_WaitForDecode and LVSpeechPort::WaitForDecode functions. In a blocking decode, this is the time to wait before the decode times out and returns an error from LV_SRE_Decode and LVSpeechPort::Decode. After initialization, this value can be changed using PROP_EX_DECODE_TIMEOUT when calling SetPropertyEx from the client application.

Possible Values: Integer time in milliseconds from 0 – 10000000.

Default Value: 20000 (20 seconds)

LOAD_GRAMMAR_TIMEOUT

Description: Specifies how long, in milliseconds, the client waits for a grammar to load. If the timeout is reached before the grammar loads, the LoadGrammar function returns error code -37, LV_LOAD_GRAMMAR_TIMEOUT. After initialization, this value can be changed using PROP_EX_LOAD_GRAMMAR_TIMEOUT when calling SetPropertyEx from the client application.

Possible Values: Integer time in milliseconds from 1000 – 2147483647 (approximately 600 hours).

Default Value: 200000 (200 seconds)

PARSE_GRAMMAR_TIMEOUT

Description: Specifies how long, in milliseconds, the client waits for a grammar to parse. If the timeout is reached before the grammar parses, the LoadGrammar function returns error code -6, LV_TIME_OUT.

Possible Values: Integer time in milliseconds from 0 – 10000000 (approximately 166 minutes).

Default Value: 10000 (10 seconds)

STRICT_SISR_COMPLIANCE

Description: Controls whether the Speech Engine strictly implements the final SISR 1.0 standard for adding tags to grammars. Unless this value is changed, the Engine runs in strict mode, using the final SISR 1.0 standard unless the grammar’s tag-format is declared as lumenvox/1.0. If strict compliance is disabled, the Engine treats a tag-format declaration of semantics/1.0 in a backwards-compatibility mode, using the older draft of SISR. After initialization, this value can be changed using PROP_EX_STRICT_SISR_COMPLIANCE when calling SetPropertyEx from the client application.

Possible Values:

  • 0 (disabled)
  • 1 (enabled)

Default Value: 1 (strict SISR compliance enabled)

TRIM_SILENCE_VALUE

Description: Controls how aggressively the Engine trims leading silence from input audio. After initialization, this value can be changed using PROP_EX_TRIM_SILENCE_VALUE when calling SetPropertyEx from the client application.

Possible Values: A number from 0 (very aggressive) to 1000 (no silence trimmed).

Default Value: 970

SAVE_SOUND_FILES

Description: Controls whether the application saves the .callsre files. Enable this to capture audio and additional information for each decode. By default these files are saved to /var/log/lumenvox/client/responses/ on Linux and C:\Program Files\LumenVox\Engine\Lang\Responses\ on Windows. After initialization, this value can be changed using PROP_EX_SAVE_SOUND_FILES when calling SetPropertyEx from the client application.

Possible Values: 0 – 3

  • 0 = NONE
  • 1 = BASIC
  • 2 = ADVANCED
  • 3 = ALL

Default Value: 0

NOISE_REDUCTION_ENABLE

Description: Specifies the noise reduction model used by the Engine to strip background noise from processed audio. For most users the default algorithm works best. For certain noise conditions the alternate algorithm has shown better results, so advanced users can try switching algorithms to see whether it improves performance in noisy conditions. The adaptive algorithm works best only when noise is constantly changing, such as car or highway noise; for more stationary noise, such as fan noise, the default algorithm performs best. After initialization, this value can be changed using PROP_EX_NOISE_REDUCTION_ENABLE when calling SetPropertyEx from the client application.

Possible Values: 0 – 3

  • 0 = No noise reduction. Deactivates noise reduction. Not recommended unless you find a specific problem with noise reduction, since disabling it increases decode times in the presence of noise.
  • 1 = Default. The recommended advanced noise reduction algorithm for most cases, automatically activated when noise levels are high enough to require reduction.
  • 2 = Alternate. An alternate algorithm to test if performance with the default setting is unsatisfactory. It is similar to the default, but results vary by noise type and level; for most noise types the default works better, though certain noise types or applications may benefit from this setting.
  • 3 = Adaptive. The advanced adaptive algorithm continually estimates the noise to remain effective in continuously changing noisy environments. It outperforms the default setting for car noise and other continuously changing noise; for stationary or constant noise, such as line noise, performance is slightly lower than the default.

Default Value: 1

CLIENT_CACHE_ENABLE

Description: Enables or disables client-side (Speech Port) grammar caching. Caching can significantly reduce grammar load times, because processed grammars are cached in memory and on disk.

Possible Values:

  • 0 (caching disabled)
  • 1 (enabled)

Default Value: 1

CLIENT_CACHE_EXPIRATION

Description: The amount of time, in minutes, to allow an unused grammar to remain in memory. After a grammar has been unused for this period, it is unloaded from memory but remains in the disk cache, allowing fast reactivation and reloading if needed.

Possible Values: A number between 2 (minimum) and 1,000,000 (maximum), in minutes.

Default Value: 1440 (1 day)

CLIENT_CACHE_MAX_NUMBER

Description: The maximum number of cached grammar entries to hold in memory at any time.

Possible Values: A number between 2 (minimum) and 100,000 (maximum).

Default Value: 100

CLIENT_CACHE_MAX_MEMORY

Description: The maximum amount of memory to use for caching grammars.

Possible Values: A number of bytes between 100,000 (minimum) and 536,870,912 (maximum).

Default Value: 268435456 (256 MB)

SECURE_CONTEXT

Description: Controls the ability to suppress potentially sensitive information that may appear in log files and call logs. Suppressed data includes both text and audio. In this [SRE] section, this value controls ASR log suppression; there is a corresponding value in the [TTS] section below. After initialization, this value can be changed using PROP_EX_SECURE_CONTEXT when calling SetPropertyEx from the client application.

Possible Values:

  • 0 = Normal (unsuppressed logging)
  • 1 = Suppressed logging

Default Value: 0

LOGGING_ENCRYPTION_KEY

Description: Specifies which certificate(s), if any, are used during encryption. This is a comma-delimited list of URLs pointing to public key / certificate files to be used for .callsre encryption. When encryption is enabled, the .callsre events are encrypted using each certificate.

Possible Values: Blank, or a comma-delimited list of certificate URLs.

Default Value: (blank — no encryption certificates specified)

LOGGING_ENCRYPTION_LEVEL

Description: Controls the level of encryption applied to the .callsre files.

Possible Values:

  • 0 = No encryption
  • 1 = Just text related to recognition and TTS text
  • 2 = Same as 1, including external tags
  • 3 = Same as 2, including grammars
  • 4 = Same as 3, including audio
  • 5 = Same as 4, but external tags are NOT encrypted
  • 10 = Whole file

Default Value: 0 (no encryption)

MENU_ID_STRING_MODE

Description: Specifies the information used to determine the uniqueness of an active grammar set. This provides a means of identifying unique active grammar sets so the tool can automatically discover menus and grammar sets and organize data more naturally around them.

Possible Values:

  • 0 = Don’t log menu ID string (backward-compatible behavior)
  • 1 = Use grammar URIs and labels
  • 2 = Use grammar URIs only (default)
  • 3 = Use grammar labels only
  • 4 = Use grammar URIs, labels, and hashcodes

Default Value: 2 (use grammar URIs only)

ASR_RESULT_DETAIL_ENABLE

Description: Specifies whether the transcription result includes extra detail, such as word-level timing and confidence scores.

Possible Values:

  • 0 = Details are not returned.
  • 1 = Extra word-level timing and confidence scores are returned within the interpretation results.

Default Value: 0


[TTS]

Configuration settings for the text-to-speech server. Many of these settings are not used by most users; they are included to reflect the requirements of the Speech Synthesis Markup Language (SSML) standard. For more on the various prosody settings, refer to the SSML specification.

TTS_SERVERS

Description: Sets which TTS servers are used for processing TTS syntheses. All specified servers are accessed in a round-robin manner, distributing TTS synthesis requests across the defined TTS servers. Ensure that the configuration of voices installed on all defined TTS servers is identical, to avoid failures when synthesis requests are made.

Possible Values: A list of IP addresses and optional ports separated by semicolons. For instance, 127.0.0.1;10.0.0.1:5721 specifies a server at 127.0.0.1 using the default port of 7579, and a server at 10.0.0.1 using port 5721.

Default Value: 127.0.0.1 (use TTS server on the local machine)

SYNTHESIS_LANGUAGE

Description: The default language to use for synthesis.

Possible Values: A valid language and country code. Languages are two lowercase letters; the country code is two uppercase letters. You need a license for this language and the language pack installed on the TTS server(s) to synthesize in the specified language.

Default Value: en-US

SYNTH_VOICE_GENDER

Description: The gender of the voice used for synthesis.

Possible Values: neutral (which uses the default), male, or female.

Default Value: neutral

SYNTH_VOICE_NAME

Description: The name of the voice used for synthesis.

Possible Values: The name of a valid TTS voice. This varies depending on the TTS licenses and voice packs installed. If left blank, it defaults to the first voice for which the system has a license and an installed voice pack.

Default Value: (blank — use the first licensed voice located)

SYNTHESIS_SOUND_FORMAT

Description: The default codec/format for the synthesized audio.

Possible Values: A value from 1 to 3:

  • 1 = ULAW
  • 2 = PCM
  • 3 = ALAW

Default Value: 1 (ulaw format)

TTS_REQUEST_TIMEOUT

Description: The amount of time to wait, in milliseconds, for a response from the TTS server after sending a request for speech synthesis. If you process unusually long segments of TTS, you may wish to extend this value. Note that it does not reflect the length of the audio produced, only the time to wait for synthesis to complete, which is typically many times faster than real time.

Possible Values: An amount of time, in milliseconds.

Default Value: 10000 (10 seconds)

SYNTHESIS_SAMPLING_RATE

Description: The default sampling rate (in Hz) for synthesized speech.

Possible Values: A valid sampling rate. You need the appropriate license(s) to use voices of the selected sample rate.

  • 8000 (8 kHz, telephony quality)
  • 22050 (22 kHz, higher quality)

Default Value: 8000 (8 kHz)

LOG_TTS_EVENTS

Description: Whether the application generates TTS event log files. Similar to the SAVE_SOUND_FILES option for speech events.

Possible Values:

  • 0 = Disable
  • 1 = Enable

Default Value: 0 (TTS logging disabled)

SYNTH_PROSODY_PITCH

Description: The pitch of the audio being synthesized.

Possible Values: A number followed by “Hz”, a relative change, or one of: “x-low”, “low”, “medium”, “high”, “x-high”, or “default”. See the SSML standard for more detail.

Default Value: default

SYNTH_PROSODY_CONTOUR

Description: The contour of the audio being synthesized.

Possible Values: Refer to the SSML standard on pitch contour for details.

Default Value: blank to use the default setting

SYNTH_PROSODY_RANGE

Description: The range of the audio being synthesized.

Possible Values: A number followed by “Hz”, a relative change, or one of: “x-low”, “low”, “medium”, “high”, “x-high”, or “default”. See the SSML standard for more detail.

Default Value: default

SYNTH_PROSODY_RATE

Description: The speaking rate of the audio being synthesized.

Possible Values: A relative change, or one of: “x-slow”, “slow”, “medium”, “fast”, “x-fast”, or “default”. See the SSML standard for more detail.

Default Value: default

SYNTH_PROSODY_DURATION

Description: The duration of time it takes for the synthesized text to play.

Possible Values: A time, such as “250ms” or “3s”.

Default Value: default

SYNTH_PROSODY_VOLUME

Description: The volume of the audio being synthesized.

Possible Values: A number, a relative change, or one of: “silent”, “x-soft”, “soft”, “medium”, “loud”, “x-loud”, or “default”. See the SSML specification for more information.

Default Value: default

SYNTH_VOICE_AGE

Description: The age of the voice used for synthesis.

Possible Values: A non-negative integer.

Default Value: default

SYNTH_VOICE_VARIANT

Description: The preferred voice variant used for synthesis.

Possible Values: A voice variant supported by the selected voice.

Default Value: default

SYNTH_EMPHASIS_LEVEL

Description: The strength of the emphasis used in the voice during synthesis.

Possible Values: One of: “strong”, “moderate”, “none”, or “reduced”.

Default Value: moderate

SECURE_CONTEXT

Description: Controls the ability to suppress potentially sensitive information that may appear in log files and call logs. Suppressed data includes both text and audio. In this [TTS] section, this value controls TTS log suppression; there is a corresponding value in the [SRE] section above.

Possible Values:

  • 0 = Normal (unsuppressed logging)
  • 1 = Suppressed logging

Default Value: 0 (unsuppressed logging)

VISEME_GENERATION

Description: Controls TTS viseme generation during synthesis. Visemes may be useful for applications that require lip-sync information.

Possible Values:

  • 0 = Visemes disabled
  • 1 = Visemes enabled

Default Value: 0 (visemes disabled)


[STREAM]

Configuration settings for the streaming interface. Most users adopt the default settings for these items, as they can affect overall accuracy if set incorrectly. See the Streaming Media Properties (MRCP) article for more detail on using some of these settings.

BARGE_IN_TIMEOUT

Description: The streaming interface flags STREAM_STATUS_BARGE_IN_TIMEOUT if no speech is detected within the number of milliseconds specified by this property.

Possible Values: -1 (infinite) or a positive integer number of milliseconds.

Default Value: -1 (infinite)

END_OF_SPEECH_TIMEOUT

Description: After barge-in, the streaming interface flags STREAM_STATUS_END_SPEECH_TIMEOUT if it does not detect end-of-speech within the time specified by this property. This differs from the end-of-speech delay; STREAM_PARM_END_OF_SPEECH_TIMEOUT represents the total amount of time a caller has to speak after barge-in is detected.

Possible Values: An amount of time, in milliseconds. -1 = infinite.

Default Value: -1 (infinite)

VAD_BARGEIN_THRESHOLD

Description: A higher value makes the voice activity detector (VAD) more sensitive to speech and less sensitive to non-speech, meaning the VAD algorithm must be more certain that the audio is speech before triggering barge-in. Raising the value rejects more false positives and noise, but may reject borderline speech. This value should not be changed from the default without significant tuning and verification.

Possible Values: Integer range from 0 to 100.

Default Value: 50

VAD_STREAM_INIT_DELAY

Description: Accurate VAD depends on a good estimation of the acoustic environment. The VAD module uses the first few frames of audio to estimate the acoustic environment, such as noise level. The length of this period is defined by this parameter.

Possible Values: A positive integer number of milliseconds.

Default Value: 100 (milliseconds)

VAD_EOS_DELAY

Description: The amount of time, in milliseconds, that the Engine must detect silence after speech before it begins processing the utterance.

Possible Values: A positive integer number of milliseconds.

Default Value: 800 (milliseconds)

VAD_WIND_BACK

Description: The length of audio to wind back at the beginning of voice activity. This is used primarily to counter instances where barge-in does not accurately capture the very start of speech. The resolution of this parameter is 1/8 of a second.

Possible Values: A positive integer number of milliseconds.

Default Value: 480 (milliseconds)

VAD_SNR_SENSITIVITY

Description: Determines how much louder the speaker must be than the background noise to trigger barge-in. The smaller this value, the easier it is to trigger barge-in.

Possible Values: Integer range from 0 to 100.

Default Value: 50

VAD_VOLUME_SENSITIVITY

Description: The volume required to trigger barge-in. The smaller the value, the more sensitive barge-in will be. This is used primarily to deal with poor echo cancellation: setting this value higher (less sensitive) makes prompts that are not properly canceled less likely to falsely trigger barge-in.

Possible Values: Integer range from 0 to 100.

Default Value: 50

AUTO_DECODE

Description: If active, the decode starts immediately on end-of-speech detection or a call to StopStream. Otherwise, the application must call LV_SRE_Decode to begin a decode.

Possible Values: 0 – 1

  • 0 = Off (auto-decode disabled)
  • 1 = On (auto-decode enabled)

Default Value: 0 (auto-decode disabled)

SOUND_FORMAT

Description: The sound format handled by the stream.

Possible Values: 1 – 4

  • 1 = ULAW_8KHZ
  • 2 = PCM_8KHZ
  • 3 = PCM_16KHZ
  • 4 = ALAW_8KHZ

Default Value: 1 (ulaw 8kHz)

VOICE_CHANNEL

Description: The voice channel into which decode loads the sound data once end-pointing is done.

Possible Values: Integer range from 0 to 63.

Default Value: 0

CPA_HUMAN_RESIDENCE_TIME

Description: Used in Call Progress Analysis (CPA) mode. If the CPA mode cannot be verified through ASR but the length of speech detected is below this length, it is considered a human residence.

Possible Values: A positive integer number of milliseconds.

Default Value: 1800 (milliseconds)

CPA_HUMAN_BUSINESS_TIME

Description: Used in Call Progress Analysis (CPA) mode. If the CPA mode cannot be verified through ASR but the length of speech detected is below this length and above the length for a human residence, it is considered a human business.

Possible Values: A positive integer number of milliseconds.

Default Value: 3000 (milliseconds)

CPA_UNKNOWN_SILENCE_TIMEOUT

Description: Used in Call Progress Analysis (CPA) mode. If barge-in does not occur by this time, the decode returns Unknown Speech. This is similar to a barge-in timeout, but a barge-in timeout triggers the barge-in-timeout callback, whereas CPA_UNKNOWN_SILENCE_TIMEOUT causes the Unknown Silence answer to be returned by a decode request in CPA mode.

Possible Values: A positive integer number of milliseconds.

Default Value: 5000 (milliseconds)


[GRAMMAR]

Configuration settings associated with grammar processing.

LANGUAGE

Description: The default language for loaded grammars if not otherwise specified.

Possible Values: A language specifier string as found in an SRGS grammar. See ASR Phoneme Tables for a list of supported options.

Default Value: en-US

MODE

Description: The default grammar mode for loaded grammars if not otherwise specified.

Possible Values:

  • voice
  • dtmf

Default Value: voice

TAG-FORMAT

Description: The default tag-format for loaded grammars if not otherwise specified.

Possible Values: Supported tag-formats, including:

  • lumenvox/1.0
  • semantics/1.0
  • semantics/1.0-literals
  • semantics/1.0.2006
  • semantics/1.0.2006-literals

Default Value: lumenvox/1.0

BASE_URI

Description: The default base path for loaded grammars if not otherwise specified. An empty string specifies the current working directory.

Possible Values: Any valid URL.

Default Value: (blank — use current working directory)

FETCH-TIMEOUT

Description: The default cache-control setting for loaded grammars if not otherwise specified. An empty string specifies no timeout.

Possible Values: A positive integer number of milliseconds from 0 – 10000000, or an empty string for no timeout.

Default Value: 60000 (one minute)

GRAMMAR_ENGINE

Description: Specifies the default behavior for which engine handles ASR requests. This can be overridden via META tags within the grammar.

Possible Values:

  • 0 = Use the DNN engine preferentially. If no DNN ASR server is available to handle the request, the legacy engine is used, if available.
  • 1 = Use the legacy ASR engine only.
  • 2 = Use the DNN ASR engine only.

Default Value: 0


Related articles


Was this article helpful?