> 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.

# Stöd för flera röster

## Översikt

Stöd för flera röster gör att din ElevenLabs-agent dynamiskt kan växla mellan olika ElevenLabs-röster under ett och samma samtal. Den här kraftfulla funktionen möjliggör:

* **Berättande med flera karaktärer**: Olika röster för olika karaktärer i berättelser
* **Språkundervisning**: Röster från modersmålstalare för olika språk
* **Känslomässiga agenter**: Röstbyten baserade på känslomässig kontext
* **Rollspelsscenarier**: Distinkta röster för olika roller

![Gränssnitt för konfiguration av flera röster](/docs/_fern-img/a421eaed65575340ef34c1209a30d97ca2594a5fb48ee57b02c8349930191727.webp)

## Så fungerar det

När stöd för flera röster är aktiverat kan agenten använda XML-liknande uppmärkning för att växla mellan konfigurerade röster under textgenerering. Agenten återgår automatiskt till standardrösten när ingen specifik röst anges.

**`Exempel på röstväxling`**

```xml title="Exempel på röstväxling"
The teacher said, <spanish>¡Hola estudiantes!</spanish> 
Then the student replied, <student>Hello! How are you today?</student>
```

**`Dialog med flera karaktärer`**

```xml title="Dialog med flera karaktärer"
<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>
```

## Konfiguration

### Lägga till röster som stöds

Varje röst som stöds har följande egenskaper:

* **Röstetikett**: Unik identifierare (t.ex. "Joe", "Spanish", "Happy")
* **Röst**: Välj bland dina tillgängliga ElevenLabs-röster
* **Modellfamilj**: Välj Turbo, Flash eller Multilingual (valfritt)
* **Språk**: Åsidosätt standardspråket för den här rösten (valfritt)
* **Beskrivning**: När agenten ska använda den här rösten

#### Uppdatera via instrumentpanelen

Öppna agenten på instrumentpanelen, gå till fliken **Voice** och leta upp avsnittet **Stöd för flera röster**. Klicka på **Add voice** för att konfigurera en ny röst som stöds.

![Gränssnitt för konfiguration av flera röster](/docs/_fern-img/e7a6e86ed58abb54f75e884214e6bc056c85e85fc60176924fb2683e16250aa1.webp)

#### Uppdatera via CLI

#### Hämta agentkonfigurationen

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

#### Redigera \`agent\_configs/\<agent-name>.json\`

Ställ in `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"
        }
      ]
    }
  }
}
```

#### Överför ändringarna

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

#### Uppdatera via 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",
        },
      ],
    },
  },
});
```

### Rösteegenskaper

#### Röstetikett

En unik identifierare som LLM:en använder för att referera till den här rösten. Välj beskrivande etiketter som: -
Karaktärsnamn: "Alice", "Bob", "Narrator" - Språk: "Spanish", "French", "German" -
Känslor: "Happy", "Sad", "Excited" - Roller: "Teacher", "Student", "Guide"

#### Modellfamilj

Åsidosätt agentens standardmodellfamilj för just den här rösten: - **Flash**: Snabbast generering,
optimerad för användning i realtid - **Turbo**: Balanserad hastighet och kvalitet - **Multilingual**: Högst
kvalitet, bäst för andra språk än engelska - **Samma som agenten**: Använd agentens standardinställning

#### Språkåsidosättning

Ange ett annat språk för den här rösten, användbart för: - Flerspråkiga samtal - Språk-
undervisningsapplikationer - Regionsspecifika uttal

#### Beskrivning

Ge kontext för när agenten ska använda den här rösten.
Exempel:

* "För alla spanska ord eller fraser"
* "När meddelandets innehåll är glatt eller entusiastiskt"
* "När karaktären Joe talar"

## Implementering

### XML-uppmärkningssyntax

Agenten använder XML-liknande taggar för att växla mellan röster:

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

**Viktiga punkter:**

* Ersätt `VOICE_LABEL` med den exakta etikett du har konfigurerat
* Text utanför taggar använder standardrösten
* Taggar är skiftlägeskänsliga
* Nästlade taggar stöds inte

### Integrering med systemprompt

När du konfigurerar röster som stöds lägger systemet automatiskt till instruktioner i agentens prompt:

```
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
```

### Exempel på användning

#### Språkundervisning

```
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.
```

#### Berättande

```
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.
```

## Bästa praxis

#### Röstval

* Välj röster som tydligt skiljer mellan karaktärer eller sammanhang
* Testa röstkombinationer för att säkerställa att de fungerar bra tillsammans
* Tänk på den känslomässiga tonen och personligheten för varje röst
* Se till att rösterna matchar språket och accenten när du växlar språk

#### Namngivning av etiketter

* Använd beskrivande, intuitiva etiketter som LLM:en kan förstå
* Håll etiketterna korta och lätta att komma ihåg
* Undvik specialtecken eller mellanslag i etiketter

#### Prestandaoptimering

* Begränsa antalet röster som stöds till det du faktiskt behöver
* Använd samma modellfamilj när det är möjligt för att minska omkostnaden vid växling
* Testa med dina förväntade konversationsmönster
* Övervaka svarstider med flera röstväxlingar

#### Innehållsriktlinjer

* Ge tydliga beskrivningar av när varje röst ska användas
* Testa gränsfall där röstväxling kan vara otydlig
* Överväg reservbeteende när röstetiketter är tvetydiga
* Se till att röstväxlingar förbättrar snarare än distraherar från samtalet

## Begränsningar

> **Note**
>
> * Högst 10 röster som stöds per agent (inklusive standardrösten)
> * Röstväxling ger minimal latens under generering
> * XML-taggar måste vara korrekt formaterade och stängda
> * Röstetiketter är skiftlägeskänsliga i uppmärkningen
> * Nästlade rösttaggar stöds inte

## Vanliga frågor

#### Vad händer om jag använder en odefinierad röstetikett?

Om agenten använder en röstetikett som inte har konfigurerats kommer texten att uttalas med
standardrösten. XML-taggarna ignoreras.

#### Kan jag byta röst mitt i en mening?

Ja, du kan växla röster inom ett och samma svar. Varje taggad sektion använder den angivna
rösten, medan otaggad text använder standardrösten.

#### Påverkar röstväxlingar konversationslatensen?

Röstväxling ger minimal extra belastning. Den första användningen av varje röst i ett samtal kan ha
något högre latens medan rösten initieras.

#### Kan jag använda samma röst med olika etiketter?

Ja, du kan konfigurera flera etiketter som använder samma ElevenLabs-röst men med olika modell-
familjer, språk eller sammanhang.

#### Hur tränar jag min agent att använda röstväxling effektivt?

Ge tydliga exempel i systemprompten och testa noggrant. Du kan inkludera specifika
scenarier där röstväxling ska ske och exempel på XML-uppmärkningsformatet.