ASR & Transcription Settings Reference

Every speech interaction on Capacity Private Cloud is shaped by a small set of settings: how audio is consumed, when voice activity detection decides that a caller has started or stopped speaking, how long the engine waits for a result, and how output is normalized. Most of them have sensible defaults, so the useful skill is knowing which few matter for your application and which layer of the platform you should set them at. This reference lists every ASR and transcription setting in the gRPC API, grouped by the message that carries it, with its type, default, range, and effect.

Before you start. A setting can be defined at the deployment, session, or interaction level, and the most specific level wins. How that resolution works, including why a change made after an interaction was created does not apply to it, is explained in Speech Settings: Hierarchy, Inheritance and Value Types. Every setting below is optional: leave it unset to inherit the value from the level above.

Which settings apply to which interaction

The create request for each interaction type carries only the settings groups that make sense for it. Use the table to find where a setting can be supplied.

Settings groupASR (grammar)TranscriptionGrammar parseDiarizationLanguage IDNLUNormalize text
General interactionYesYesYesYesYesYesYes
Audio consumeYesYes–YesYes––
VADYesYes–––––
GrammarYesYes (embedded grammars)Yes––––
RecognitionYesYes–––––
Normalization–Yes––––Yes
Phrase list–Yes–––––
NLU–––––Yes–

Neuron and sentiment interactions accept only the general interaction settings. Settings for TTS interactions are in the TTS Settings Reference, and settings for CPA and AMD interactions are in the CPA & AMD Settings Reference.

Session settings

Session settings apply for the life of a session and are set with session_set_settings. They also carry the interaction-level groups as defaults for every interaction the session creates.

SettingTypeDefaultRange or valuesDescription
archive_sessionBooleanfalsetrue, falseArchives the session data when the session closes, for tuning and other diagnostic purposes.
archive_session_delay_secondsIntegerNot specifiedSecondsDelay before archiving. Until then, session data persists in Redis before it is written to the database.
custom_session_dataStringNoneFree-form (text, JSON, delimited lists)Data you attach for your own external purposes. The platform does not use it.
call_idStringNoneFree-formCall identifier used for CDR tracking, typically the telephony call ID or equivalent.
channel_idString (repeated)NoneFree-formChannel identifier used for CDR tracking, typically a telephony or MRCP channel SDP value or equivalent.
logging_tagString (repeated)NoneFree-formReserved for future use.

General interaction settings

These apply to every interaction type.

SettingTypeDefaultRange or valuesDescription
secure_contextBooleanfalsetrue, falseWhen true, the platform does not log certain ASR and TTS data, so sensitive values such as account numbers and passwords stay out of the logs. Wherever such data would have been recorded, the log shows _SUPPRESSED instead.
custom_interaction_dataStringNoneFree-form (text, JSON, delimited lists)Data you attach for your own external purposes. The platform does not use it.
logging_tagString (repeated)NoneFree-formReserved for future use.

Turn on secure_context for sensitive prompts. If an application collects card numbers, account numbers, passwords, or other regulated data, set secure_context to true for those interactions, so that the values are suppressed in logs from the start rather than scrubbed afterward.

Audio consume settings

These settings control which audio an interaction processes and from where it starts.

SettingTypeDefaultRange or valuesDescription
audio_channelInteger00 to NFor multi-channel audio, the channel to process. Channel 0 is used if you do not specify one.
audio_consume_modeEnumerationAUDIO_CONSUME_MODE_STREAMINGSee the table belowWhether the interaction consumes streamed audio or a batch of audio that was loaded beforehand.
stream_start_locationEnumerationSTREAM_START_LOCATION_STREAM_BEGINSee the table belowWhere processing starts when streaming mode is used.
start_offset_msInteger0Positive or negative millisecondsAdjusts the audio start point by this many milliseconds.
audio_consume_max_msInteger0Positive milliseconds; 0 processes all audio sentLimits how much audio is processed.

Audio consume modes

ValueMeaning
AUDIO_CONSUME_MODE_STREAMINGAudio is streamed to the interaction. This is the default.
AUDIO_CONSUME_MODE_BATCHThe interaction processes audio that has already been loaded. Only STREAM_START_LOCATION_STREAM_BEGIN is valid with batch mode.

Stream start locations

Used only with streaming mode.

ValueProcessing starts fromValid in batch mode
STREAM_START_LOCATION_STREAM_BEGINThe beginning of the stream.Yes (the only valid option)
STREAM_START_LOCATION_BEGIN_PROCESSING_CALLThe audio streamed after the InteractionBeginProcessing() call was made.No
STREAM_START_LOCATION_INTERACTION_CREATEDThe audio streamed after the interaction was created.No

Voice activity detection (VAD) settings

VAD starts audio processing when a person begins speaking and detects when they stop. These settings decide how patient the platform is with silence, hesitation, and background noise.

SettingTypeDefaultRange or valuesDescription
use_vadBooleanNot specifiedtrue, falseWhen false, all audio selected by the audio consume settings is processed. In streaming mode, you then end processing by calling InteractionFinalizeProcessing(). When true, VAD detects when speech starts and stops. In batch mode, the engine looks for the start of speech within the audio and stops at end of speech, so not all of the loaded audio may be processed.
barge_in_timeout_msInteger-1 (infinite)-1, or positive millisecondsThe longest silence allowed while waiting for the caller to speak (barge-in) before a timeout is reported.
end_of_speech_timeout_msInteger-1 (infinite)-1, or positive millisecondsAfter barge-in, STREAM_STATUS_END_SPEECH_TIMEOUT occurs if end of speech is not detected within this time. It is the total time a caller may speak after barge-in is detected, which is different from eos_delay_ms.
eos_delay_msInteger800Positive millisecondsSilence required after speech before processing begins.
bargein_thresholdInteger500 to 100A higher value makes VAD more sensitive to speech and less sensitive to non-speech, so the algorithm must be more certain that audio is speech before it triggers barge-in. Raising it rejects more noise but can reject borderline speech. Do not change it from the default without significant tuning and verification.
wind_back_msInteger480Positive millisecondsLength of audio wound back at the start of voice activity, which compensates for barge-in that does not capture the very start of speech. The resolution is 1/8 of a second.

Deprecated VAD settings

The API reference marks the following settings as deprecated. Do not use them in new applications.

SettingDefaultWhat it did
noise_reduction_modeNOISE_REDUCTION_MODE_DEFAULTSelected the noise reduction algorithm (see the values below).
snr_sensitivity50 (range 0 to 100)How much louder the speaker must be than the background noise to trigger barge-in. Lower values make barge-in easier to trigger.
stream_init_delay100 msLength of the initial audio used to estimate the acoustic environment, such as the noise level.
volume_sensitivity50 (range 0 to 100)The volume required to trigger barge-in. Lower values are more sensitive. Raising it helps when prompt echo is not cancelled properly.

Noise reduction modes

ValueNumberMeaning
NOISE_REDUCTION_MODE_DISABLED1Noise reduction is disabled.
NOISE_REDUCTION_MODE_DEFAULT2The default, recommended noise reduction algorithm.
NOISE_REDUCTION_MODE_ALTERNATE3Similar to the default algorithm, but results vary with different noise types and levels.
NOISE_REDUCTION_MODE_ADAPTIVE4An adaptive algorithm best suited to varying background noise, such as changing car noise.

Recognition settings

SettingTypeDefaultRange or valuesDescription
max_alternativesInteger1Not specifiedThe maximum number of recognition hypotheses returned, that is, the number of NBest messages in each AsrInteractionResult.
trim_silence_valueInteger9700 (very aggressive) to 1000 (no silence trimmed)How aggressively the engine trims leading silence from the input audio.
enable_partial_resultsBooleanfalsetrue, falseWhen true, partial result callbacks are enabled for the interaction.
confidence_thresholdInteger00 to 1000Minimum confidence for a result. Applies to grammar-based ASR interactions only. Note the scale: MRCP clients use a 0 to 1 decimal scale instead.
decode_timeoutInteger (milliseconds)10,000,000 (about 2.7 hours)0 to 100,000,000How long the ASR waits for results before timing out.

decode_timeout is a safety net, not a tuning knob. The default allows an interaction to run for hours. Use end_of_speech_timeout_ms and barge_in_timeout_ms to bound how long a caller can be silent or speak, and set decode_timeout lower only if your application needs a hard upper limit on a single recognition.

Grammar settings

These settings govern SRGS grammar handling for grammar-based ASR. They also apply to the embedded grammars of transcription interactions and to grammar parse interactions.

SettingTypeDefaultRange or valuesDescription
default_tag_formatEnumerationTAG_FORMAT_SEMANTICS_1_2006See the table belowThe tag format used for loaded grammars when a grammar does not specify one.
ssl_verify_peerBooleantruetrue, falseVerifies the certificate of the peer on HTTPS requests, using a local certificate authority file. Set to false to skip verification for trusted sites.
load_grammar_timeout_msInteger200000 (about 3.3 minutes)1000 to 2147483647The longest time allowed for a grammar to load. When it is exceeded, a timeout error is raised.
compatibility_modeInteger00 to 1Compatibility mode for certain media server operations. Change it from the default only if you understand the consequences.
grammar_thresholdInteger0 (unlimited)Not specifiedThe maximum grammar size permitted. A grammar larger than this fails to load.
max_enhanced_lengthInteger61 or greaterThe maximum number of words to parse for enhanced transcription. It does not apply to legacy enhanced transcription.
probability_boostInteger1Not specifiedProbability score boost for loaded grammars. Raises or lowers the probability that grammar paths are recognized.

Tag formats

ValueTag format
TAG_FORMAT_LUMENVOX_1lumenvox/1.0
TAG_FORMAT_SEMANTICS_1semantics/1.0
TAG_FORMAT_SEMANTICS_1_LITERALSsemantics/1.0-literals
TAG_FORMAT_SEMANTICS_1_2006semantics/1.0.2006 (default)
TAG_FORMAT_SEMANTICS_1_2006_LITERALSsemantics/1.0.2006-literals

Normalization settings

Normalization post-processes transcription output so that it reads as written text. Each step is off unless you enable it.

SettingTypeDefaultRange or valuesDescription
enable_inverse_textBooleanfalsetrue, falseInverse text normalization: converts spoken form to written form, for example “twenty two” to “22”.
enable_punctuation_capitalizationBooleanfalsetrue, falseAdds punctuation and capitalization.
enable_redactionBooleanfalsetrue, falseRedacts sensitive information.
enable_srt_generationBooleanfalsetrue, falseGenerates a SubRip (SRT) subtitle file.
enable_vtt_generationBooleanfalsetrue, falseGenerates a WebVTT (VTT) subtitle file.
request_timeout_msInteger50000 to 1,000,000How long text normalization waits for results before timing out.

Phrase list settings

Phrase lists add vocabulary hints to transcription. This setting controls how strongly they influence recognition.

SettingTypeDefaultRange or valuesDescription
probability_boostInteger1Greater than 0 per the API referenceRaises or lowers the probability that the words or phrases in the list are recognized.

NLU settings

These settings apply to text NLU processing, either on text you supply or on a transcript.

SettingTypeDefaultRange or valuesDescription
summarization_bullet_pointsInteger0 (no bullet-point summary)1 to 15The number of bullet points to summarize the text into.
summarization_wordsInteger0 (no word-count summary)10 to 1000The number of words to summarize the text into. It is mutually exclusive with summarization_bullet_points: specify only one.
translate_from_languageStringEmpty (auto-detect the source language)A language name or code, such as “American English”, “english”, or en-USThe source language for translation. Translation can be less accurate when the source language is not specified.
translate_to_languageStringEmpty (no translation)A language name or code, as aboveThe target language. Setting it enables translation.
enable_alternate_translationsBooleanNot specifiedtrue, falseAdds a list of alternate translations to the result when possible.
enable_language_detectBooleanNot specifiedtrue, falseDetects the language of the input text and, where possible, the dialect.
enable_topic_detectBooleanNot specifiedtrue, falseDetects the topic of the input text.
detect_outcome_typeEnumerationNot specifiedPAYMENT, SUCCESSFULDetects whether the specified outcome was achieved, based on the input text. PAYMENT detects whether a payment was successfully made, and SUCCESSFUL detects whether the call was successfully resolved.
enable_sentiment_analysisBooleanNot specifiedtrue, falseDetermines the sentiment of the input text.
request_timeout_msInteger50000 to 1,000,000How long NLU processing waits for results before timing out.

Logging settings

SettingTypeDefaultRange or valuesDescription
logging_verbosityEnumerationLOGGING_VERBOSITY_INFOSee the table belowHow much the platform logs for the session or deployment.
ValueNumberWhat is logged
LOGGING_VERBOSITY_DEBUG1Internal system events that are not usually observable
LOGGING_VERBOSITY_INFO2Routine logging, such as ongoing status or performance (default)
LOGGING_VERBOSITY_WARNING3Warnings and above only: service degradation or danger
LOGGING_VERBOSITY_ERROR4Functionality is unavailable, invariants are broken, or data is lost
LOGGING_VERBOSITY_CRITICAL5Only exceptions and critical errors (not recommended)

For a worked example of changing this setting, see Configuring Speech Settings Using the Management API.

Relationship to MRCP and client_property.conf settings

MRCP clients configure comparable behavior through MRCP headers and the client_property.conf file, which use different names and, in some cases, different scales and defaults. Do not copy a value from one interface to the other without checking the table below.

gRPC settingMRCP / client_property.conf nameDifference
decode_timeoutDECODE_TIMEOUTThe client_property.conf article documents a default of 20,000 ms.
confidence_thresholdconfidence_thrsld (MRCP header)Integer 0 to 1000 in gRPC; decimal 0 to 1 in MRCP.
default_tag_formatTAG-FORMATThe client_property.conf article documents lumenvox/1.0 as the default.
logging_verbosityLOGGING_VERBOSITYThe scales run in opposite directions. In gRPC, 1 is DEBUG, the most verbose. In client_property.conf, 1 is the minimal level and values range from 1 to 4.
noise_reduction_modeNOISE_REDUCTION_ENABLEgRPC values run 1 to 4 (disabled, default, alternate, adaptive); client_property.conf values run 0 to 3.
wind_back_msVAD_WIND_BACK (wind-back-time)The gRPC resolution is 1/8 of a second.
max_alternativesMAX_NBEST_RETURNED (nbest_length)Same default (1).
trim_silence_valueTRIM_SILENCE_VALUESame default (970) and range.
barge_in_timeout_msBARGE_IN_TIMEOUTSame default (-1).
end_of_speech_timeout_msEND_OF_SPEECH_TIMEOUTSame default (-1).
bargein_thresholdVAD_BARGEIN_THRESHOLDSame default (50) and range.
eos_delay_msVAD_EOS_DELAYSame default (800).
ssl_verify_peerSSL_VERIFYPEERSame default (true).
load_grammar_timeout_msLOAD_GRAMMAR_TIMEOUTSame default (200000) and range.
secure_contextSECURE_CONTEXTSame default (off).
compatibility_modecompatibility_modeSame default (0).

For the MRCP side, see Speech Client Configuration (client_property.conf), Vendor Specific Parameters, and Media Server Configuration.

Related Articles


Was this article helpful?