Skip to main content

Speech recognition resources control how the agent processes user speech input on the voice channel.

These resources live under voice/speech_recognition/ and are used to tune how the agent listens, recognizes, and post-processes spoken input.
ASR settings are platform-provisioned — update onlyASR settings are created automatically when a project is created. They can be updated with poly push but not created from scratch. See the equivalent note on agent settings for details.

Location

voice/speech_recognition/
├── asr_settings.yaml
├── keyphrase_boosting.yaml
└── transcript_corrections.yaml
All three files are voice-specific. Only asr_settings.yaml is the core settings file; the others are optional.

What speech recognition controls

ASR settings

Configure global speech-recognition behavior such as barge-in and latency/accuracy style.

Keyphrase boosting

Bias recognition toward specific words or phrases.

Transcript corrections

Apply regex-based corrections after speech recognition.

ASR settings

ASR settings are defined in:
voice/speech_recognition/asr_settings.yaml
These settings control global speech-recognition behavior for the voice channel.

Fields

FieldTypeDescription
barge_inboolWhether the user can interrupt the agent while it is speaking. Default: false.
interaction_stylestringControls the latency/accuracy trade-off. Default: balanced.

Example

barge_in: false
interaction_style: balanced

Interaction styles

StyleBehavior
preciseHigher accuracy, higher latency
balancedDefault balance of speed and accuracy
swiftFaster responses, slightly lower accuracy
sonic / turboLowest latency

Keyphrase boosting

Keyphrase boosting is defined in:
voice/speech_recognition/keyphrase_boosting.yaml
It biases the recognizer toward specific words or phrases, which is useful for:
  • brand names
  • product names
  • specialist terminology
  • domain-specific jargon

Structure

A keyphrases list where each entry includes:
FieldRequiredDescription
keyphraseYesThe word or phrase to boost
levelNoBoost strength: default, boosted, or maximum

Example

keyphrases:
  - keyphrase: PolyAI
    level: maximum
  - keyphrase: reservation
    level: boosted
  - keyphrase: check-in
    level: default

Transcript corrections

Transcript corrections are defined in:
voice/speech_recognition/transcript_corrections.yaml
These rules post-process ASR output to fix common misrecognitions. They are especially useful for:
  • email domains
  • repeated digits
  • domain-specific phrases
  • spoken forms that should be normalized into machine-friendly text

Structure

A corrections list where each entry includes:
FieldRequiredDescription
nameYesIdentifier for the correction group
descriptionNoExplains what the correction fixes
regular_expressionsYesRegex rules used for correction
Each regex rule can include:
FieldRequiredDescription
regular_expressionYesPattern to match
replacementYesReplacement text
replacement_typeNofull or partial / substring

Example

corrections:
  - name: Email domain fix
    description: Correct common email domain misrecognitions
    regular_expressions:
      - regular_expression: at gmail dot com
        replacement: "@gmail.com"
        replacement_type: full
      - regular_expression: at hotmail dot com
        replacement: "@hotmail.com"
        replacement_type: full

  - name: Number normalization
    description: Normalize spoken numbers to digits
    regular_expressions:
      - regular_expression: \bdouble (\d)\b
        replacement: \1\1
        replacement_type: partial

Best practices

  • use keyphrase_boosting for terms the recognizer is likely to miss
  • keep boosted keyphrases focused and specific
  • use transcript corrections for common, repeated recognition errors
  • avoid overly broad regex rules that may alter normal input unexpectedly
  • choose the ASR interaction style deliberately based on latency and accuracy needs
Use the lightest possible interventionStart with the default settings, then add boosting or transcript corrections only where recognition problems are actually recurring.

Voice settings

See how speech recognition fits into the wider voice-channel configuration.

Response control

Configure what happens to output before it is spoken.
Last modified on July 9, 2026