> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Suporte a várias vozes

## Visão geral

O suporte a várias vozes permite que seu agente da ElevenLabs alterne dinamicamente entre diferentes vozes da ElevenLabs durante uma única conversa. Esse recurso avançado possibilita:

* **Narrativas com vários personagens**: Vozes diferentes para personagens diferentes em narrativas
* **Ensino de idiomas**: Vozes de falantes nativos para diferentes idiomas
* **Agentes emocionais**: Alterações de voz com base no contexto emocional
* **Cenários de interpretação de papéis**: Vozes distintas para diferentes personas

![Interface de configuração de várias vozes](/docs/_fern-img/a421eaed65575340ef34c1209a30d97ca2594a5fb48ee57b02c8349930191727.webp)

## Como funciona

Quando o suporte a várias vozes está ativado, seu agente pode usar marcação no estilo XML para alternar entre as vozes configuradas durante a geração de texto. O agente retorna automaticamente à voz padrão quando nenhuma voz específica é indicada.

**`Exemplo de alternância de voz`**

```xml title="Exemplo de alternância de voz"
The teacher said, <spanish>¡Hola estudiantes!</spanish> 
Then the student replied, <student>Hello! How are you today?</student>
```

**`Diálogo com vários personagens`**

```xml title="Diálogo com vários personagens"
<narrator>Once upon a time, in a distant kingdom...</narrator>
<princess>I need to find the magic crystal!</princess>
<wizard>The crystal lies beyond the enchanted forest.</wizard>
```

## Configuração

### Como adicionar vozes compatíveis

Cada voz compatível tem as seguintes propriedades:

* **Rótulo da voz**: Identificador único (por exemplo, "Joe", "Spanish", "Happy")
* **Voz**: Selecione entre suas vozes disponíveis da ElevenLabs
* **Família de modelo**: Escolha Turbo, Flash ou Multilingual (opcional)
* **Idioma**: Substitua o idioma padrão para esta voz (opcional)
* **Descrição**: Quando o agente deve usar esta voz

#### Atualizar pelo dashboard

Abra seu agente no dashboard, acesse a aba **Voz** e localize a seção **Suporte a várias vozes**. Clique em **Adicionar voz** para configurar uma nova voz compatível.

![Interface de configuração de várias vozes](/docs/_fern-img/e7a6e86ed58abb54f75e884214e6bc056c85e85fc60176924fb2683e16250aa1.webp)

#### Atualizar pela CLI

#### Baixe a configuração do agente

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### Edite \`agent_configs/\<agent-name>.json\`

Defina `conversation_config.tts.supported_voices`:

```json
{
  "conversation_config": {
    "tts": {
      "supported_voices": [
        {
          "label": "Spanish",
          "voice_id": "<voice-id>",
          "language": "es",
          "description": "For any Spanish words or phrases"
        }
      ]
    }
  }
}
```

#### Envie suas alterações

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### Atualizar pela API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "tts": {
            "supported_voices": [
                {
                    "label": "Spanish",
                    "voice_id": "<voice-id>",
                    "language": "es",
                    "description": "For any Spanish words or phrases",
                }
            ]
        },
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    tts: {
      supportedVoices: [
        {
          label: "Spanish",
          voiceId: "<voice-id>",
          language: "es",
          description: "For any Spanish words or phrases",
        },
      ],
    },
  },
});
```

### Propriedades da voz

#### Rótulo da voz

Um identificador único que o LLM usa para se referir a esta voz. Escolha rótulos descritivos, como: -
Nomes de personagens: "Alice", "Bob", "Narrator" - Idiomas: "Spanish", "French", "German" -
Emoções: "Happy", "Sad", "Excited" - Funções: "Teacher", "Student", "Guide"

#### Família de modelo

Substitua a família de modelo padrão do agente para esta voz específica: - **Flash**: Geração mais rápida,
otimizada para uso em tempo real - **Turbo**: Velocidade e qualidade equilibradas - **Multilingual**: Maior
qualidade, ideal para idiomas que não são inglês - **Same as agent**: Usa a configuração padrão do agente

#### Substituição de idioma

Especifique um idioma diferente para esta voz, útil para: - Conversas multilíngues - Aplicativos de ensino
de idiomas - Pronúncias específicas de determinada região

#### Descrição

Forneça contexto sobre quando o agente deve usar esta voz.
Exemplos:

* "Para quaisquer palavras ou frases em espanhol"
* "Quando o conteúdo da mensagem for alegre ou animado"
* "Sempre que o personagem Joe estiver falando"

## Implementação

### Sintaxe de marcação XML

Seu agente usa tags no estilo XML para alternar entre vozes:

```xml
<VOICE_LABEL>text to be spoken</VOICE_LABEL>
```

**Pontos importantes:**

* Substitua `VOICE_LABEL` pelo rótulo exato que você configurou
* O texto fora das tags usa a voz padrão
* As tags diferenciam maiúsculas de minúsculas
* Tags aninhadas não são compatíveis

### Integração ao prompt do sistema

Quando você configura vozes compatíveis, o sistema adiciona automaticamente instruções ao prompt do seu agente:

```
When a message should be spoken by a particular person, use markup: "<CHARACTER>message</CHARACTER>" where CHARACTER is the character label.

Available voices are as follows:
- default: any text outside of the CHARACTER tags
- Joe: Whenever Joe is speaking
- Spanish: For any Spanish words or phrases
- Narrator: For narrative descriptions
```

### Exemplo de uso

#### Ensino de idiomas

```
Teacher: Let's practice greetings. In Spanish, we say <Spanish>¡Hola! ¿Cómo estás?</Spanish>
Student: How do I respond?
Teacher: You can say <Spanish>¡Hola! Estoy bien, gracias.</Spanish> which means Hello! I'm fine, thank you.
```

#### Narrativa

```
Once upon a time, a brave princess ventured into a dark cave.
<Princess>I'm not afraid of you, dragon!</Princess> she declared boldly. The dragon rumbled from
the shadows, <Dragon>You should be, little one.</Dragon>
But the princess stood her ground, ready for whatever came next.
```

## Boas práticas

#### Seleção de voz

* Escolha vozes que diferenciem claramente personagens ou contextos
* Teste combinações de vozes para garantir que funcionem bem juntas
* Considere o tom emocional e a personalidade de cada voz
* Garanta que as vozes correspondam ao idioma e ao sotaque ao alternar idiomas

#### Nomeação de rótulos

* Use rótulos descritivos e intuitivos que o LLM possa entender
* Mantenha os rótulos curtos e fáceis de lembrar
* Evite caracteres especiais ou espaços nos rótulos

#### Otimização de desempenho

* Limite o número de vozes compatíveis ao que você realmente precisa
* Use a mesma família de modelo quando possível para reduzir a sobrecarga da alternância
* Teste com os padrões de conversa esperados
* Monitore os tempos de resposta com várias alternâncias de voz

#### Diretrizes de conteúdo

* Forneça descrições claras de quando cada voz deve ser usada
* Teste casos extremos em que a alternância de voz possa não estar clara
* Considere o comportamento de fallback quando os rótulos de voz forem ambíguos
* Garanta que as alternâncias de voz aprimorem a conversa em vez de distraírem

## Limitações

> **Note**
>
> * Máximo de 10 vozes compatíveis por agente, incluindo a padrão
> * A alternância de voz adiciona latência mínima durante a geração
> * As tags XML devem estar formatadas e fechadas corretamente
> * Os rótulos de voz diferenciam maiúsculas de minúsculas na marcação
> * Tags de voz aninhadas não são compatíveis

## Perguntas frequentes

#### O que acontece se eu usar um rótulo de voz indefinido?

Se o agente usar um rótulo de voz que não foi configurado, o texto será falado usando a
voz padrão. As tags XML serão ignoradas.

#### Posso alterar vozes no meio de uma frase?

Sim, você pode alternar vozes em uma única resposta. Cada seção marcada usará a voz especificada,
enquanto o texto sem marcação usará a voz padrão.

#### As alternâncias de voz afetam a latência da conversa?

A alternância de voz adiciona uma sobrecarga mínima. O primeiro uso de cada voz em uma conversa pode ter
uma latência um pouco maior enquanto a voz é inicializada.

#### Posso usar a mesma voz com rótulos diferentes?

Sim, você pode configurar vários rótulos que usam a mesma voz da ElevenLabs, mas com diferentes famílias
de modelo, idiomas ou contextos.

#### Como treino meu agente para usar a alternância de voz de forma eficaz?

Forneça exemplos claros no prompt do sistema e teste minuciosamente. Você pode incluir cenários
específicos em que a alternância de voz deve ocorrer e exemplos do formato de marcação XML.