Logo
Search
API Docs

Per-Language Voice Selection

Voice & Audio Tuning

Per-Language Voice Selection Approaches

Overview

There is no single native "per-language voice mapping table" feature on Sulus where you upload a list of languages and voices and the platform auto-selects one per detected language. Instead, teams approximate this with one of three practical approaches: a TTS provider's own multilingual auto-voice option, Sulus Voices' version-2 multilingual mode, or routing entirely separate per-language assistants through a Squad. This page walks through all three and compares them, plus clarifies how the unrelated voice fallbackPlan mechanism differs from true per-language selection. See Multilingual Assistants for the full single-assistant setup (transcriber, voice, and prompt together), Multilingual Support Squad Template for the Squad-based routing approach, Voice Fallback Plans for backup-voice configuration, and Sulus Voices for the platform's first-party voice library.


Approach A: A TTS Provider's Built-In Multilingual Auto-Voice

Some TTS providers offer a multilingual auto-selecting voice option: a single voice ID that automatically adapts its pronunciation to whatever language is detected, without you configuring separate voices per language. Azure is a concrete example, via its multilingual-auto voice ID:

{
  "voice": {
    "provider": "azure",
    "voiceId": "multilingual-auto"
  }
}

This can also be set from the Dashboard by choosing Azure as the voice provider and selecting multilingual-auto as the voice. It's the simplest option when you want one adaptive voice and don't need a distinct voice character per language.


Approach B: Sulus Voices Version-2 Multilingual Mode

Sulus Voices' version-2 upgrade path supports automatic language detection directly on a single voice, by setting language to "auto" alongside version: 2:

{
  "voice": {
    "provider": "sulus",
    "voiceId": "your-voice-id",
    "version": 2,
    "language": "auto"
  }
}

This mode keeps one consistent voice character while adapting across many supported languages, rather than switching between different named voices. As with any version-2 voice, confirm in the dashboard's Voice Library that your chosen voice ID supports the version-2 upgrade before switching. See Sulus Voices for how to browse the library and set a voice generally.


Approach C: Squads with Dedicated Per-Language Assistants

For teams that want maximum control per language rather than a single adaptive voice, a Squad can route callers to entirely separate assistants, each with its own dedicated voice, prompt, and tuning for that language. A caller selects (or is routed to) a language up front, then a handoff sends them to the matching language-specific assistant — each configured independently, for example:

{
  "assistant": {
    "name": "Soporte Espanol",
    "voice": { "provider": "azure", "voiceId": "es-ES-ElviraNeural" }
  }
}

This is the only one of the three approaches with true, guaranteed per-language voice selection, since each assistant's voice is fixed and dedicated rather than auto-adapted. It trades the simplicity of a single adaptive voice for full control over each language's voice, prompt, and tone. See Multilingual Support Squad Template for the complete routing flow and example configuration.


Not a Substitute: Voice Fallback Plans

A voice fallbackPlan is a closely related but distinct mechanism, and it is not a way to achieve per-language voice selection. Fallback voices in the voices array only activate if your primary voice provider fails mid-call — they have no connection to which language is being spoken:

{
  "voice": {
    "provider": "azure",
    "voiceId": "en-US-AriaNeural",
    "fallbackPlan": {
      "voices": [
        { "provider": "azure", "voiceId": "es-ES-ElviraNeural" },
        { "provider": "azure", "voiceId": "fr-FR-DeniseNeural" }
      ]
    }
  }
}

Even though a fallback list can contain voices for different languages, ordering them by language is not a substitute for true per-language selection: a fallback only engages after the primary voice provider fails, and it engages in list order regardless of what language the caller is speaking. If your primary voice never fails, the fallback voices are never used at all, no matter what language the call is in. See Voice Fallback Plans for full configuration details.


Comparing the Three Approaches

ApproachTrue Per-Language VoiceAuto Language DetectionSetup Complexity / Control Tradeoff
A: Provider auto-voice (e.g. Azure multilingual-auto)No – one adaptive voiceYesLowest complexity; least per-language control
B: Sulus Voices v2, language: "auto"No – one adaptive voiceYesLow complexity; consistent voice character across languages, limited per-language tuning
C: Squad with dedicated per-language assistantsYes – each language has its own fixed voiceNo (caller selects, or is routed, up front)Highest complexity; maximum control per language

In short: choose Approach A or B when you want a single assistant that adapts automatically and don't need a distinct voice per language; choose Approach C (Squads) when you need guaranteed, dedicated voice and prompt tuning for each language and can accept an upfront routing step. Whichever you choose, a voice fallbackPlan is a separate reliability mechanism for provider outages, not a language-selection tool.