Multi-voice allows you to assign multiple voices to an agent. Since each voice has distinct qualities, this setup can simulate a full team of agents handling conversations.

You can configure multi-voice using Python logic or the Agent voice tab:

Click New voice to add additional voices to your agent. You can select from the available languages, genders, and styles or add a new voice.

Once added, all voices will appear in the list and can be configured independently.

Using Python in a code field

You can configure this in any function, though this guide assumes you’re using the start function.

To use multiple voices, you need their voice IDs from your chosen TTS provider. Refer to the function TTS provider configuration for full details on supported providers and their configuration options.

Here is an example of how to configure multiple voices, where the agent is randomly assigned a voice at the start of each interaction:

def start_function(conv: Conversation):
    conv.randomize_voice([
        VoiceWeighting(
            voice=ElevenLabsVoice(
                voice_id="LcfCDJNUPlGQjkzn1xUU",
                similarity_boost=0.2,
                stability=0.4
            ),
            weight=0.5
        ),
        VoiceWeighting(
            voice=RimeVoice(
                provider_voice_id="s3://path-to-manifest.json",
                style="neutral"
            ),
            weight=0.5
        )
    ])
  • conv.randomize_voice([...]): Selects a voice at random based on the assigned weights.
  • VoiceWeighting: Associates a voice with a probability of being selected.
  • Weights define selection probability:
    • The sum of all weights must equal 1.0.

Understanding voice weights

You can add a maximum of five voices to an AI agent.

The weight parameter determines how often each voice is selected. The sum of all weights must equal 1.0.

Examples:

  • One voice at 1.0: Always uses that voice.
  • Two voices at 0.5 each: Each is selected 50% of the time.
  • Four voices at 0.25 each.

Personalizing repeat caller experiences

Repeat callers are more likely to ask for a human agent if they hear the same AI voice every time. Switching voices on subsequent calls can make interactions feel less robotic, and it is proven to reduce immediate escalations.

Using multi-voice may prevent callers from instantly requesting an agent just because they recognize the AI.