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

# Uso de diccionarios de pronunciación

> **Note**
>
> **Guía práctica** · Da por hecho que has completado la [guía rápida de ElevenAPI](/docs/es/eleven-api/quickstart).

## Resumen

Los diccionarios de pronunciación te permiten personalizar cómo pronuncia palabras o frases específicas tu agente de IA. Esto resulta especialmente útil para:

* Corregir la pronunciación de nombres, lugares o términos técnicos
* Garantizar una pronunciación coherente en todas las conversaciones
* Personalizar variaciones regionales de pronunciación

ElevenLabs admite los alfabetos [IPA](https://en.wikipedia.org/wiki/International_Phonetic_Alphabet) y [CMU](https://en.wikipedia.org/wiki/CMU_Pronouncing_Dictionary).

> **Info**
>
> Las etiquetas de fonemas de los diccionarios de pronunciación solo funcionan con los modelos eleven_v4, eleven_flash_v2 y eleven_v3.
>
> Los demás modelos omiten las etiquetas de fonemas del diccionario y usan la pronunciación predeterminada. Para otros modelos, usa etiquetas de alias para sustituir grafías o frases que produzcan la pronunciación que necesitas.
>
> Si quieres usar pronunciaciones IPA y CMU en idiomas distintos del inglés, tendrás que cambiar al modelo eleven_v4.

## Guía rápida

> **Note**
>
> Esta guía presupone que has [configurado tu clave de API y SDK](/docs/es/eleven-api/quickstart). Completa primero la guía rápida si aún no lo has hecho.

#### Crear un archivo de diccionario de pronunciación

En este ejemplo, crearemos un archivo de diccionario de pronunciación para la palabra `tomato`.

Esta regla usará el alfabeto «IPA» y actualizará la pronunciación de `tomato` y `Tomato` con una pronunciación diferente. Los archivos PLS distinguen entre mayúsculas y minúsculas, por eso la incluimos tanto con «T» mayúscula como sin ella.

> **Tip**
>
> Puedes usar herramientas de IA como Claude o ChatGPT para generar notaciones IPA o CMU de palabras concretas.

**`dictionary.pls`**

```xml title="dictionary.pls"
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
    xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
        http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
    alphabet="ipa" xml:lang="en-US">
<lexeme>
    <grapheme>tomato</grapheme>
    <phoneme>/tə'meɪtoʊ/</phoneme>
</lexeme>
<lexeme>
    <grapheme>Tomato</grapheme>
    <phoneme>/tə'meɪtoʊ/</phoneme>
</lexeme>
</lexicon>
```

#### Crear un diccionario de pronunciación a partir de un archivo mediante el SDK

Crea un archivo llamado `example.py` o `example.mts`, según el lenguaje que elijas, y añade el siguiente código:

```python maxLines=0
from elevenlabs import ElevenLabs, PronunciationDictionaryVersionLocator
from elevenlabs.play import play

elevenlabs = ElevenLabs()

with open("dictionary.pls", "rb") as f:
    # this dictionary changes how tomato is pronounced
    pronunciation_dictionary = elevenlabs.pronunciation_dictionaries.create_from_file(
        file=f.read(), name="example"
    )

audio_1 = elevenlabs.text_to_speech.convert(
    text="Without the dictionary: tomato",
    voice_id="aMSt68OGf4xUZAnLpTU8",
    model_id="eleven_flash_v2",
)

audio_2 = elevenlabs.text_to_speech.convert(
    text="With the dictionary: tomato",
    voice_id="aMSt68OGf4xUZAnLpTU8",
    model_id="eleven_flash_v2",
    pronunciation_dictionary_locators=[
        PronunciationDictionaryVersionLocator(
            pronunciation_dictionary_id=pronunciation_dictionary.id,
            version_id=pronunciation_dictionary.version_id,
        )
    ],
)

# play the audio
play(audio_1)
play(audio_2)
```

```typescript maxLines=0
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";
import fs from "node:fs";

const elevenlabs = new ElevenLabsClient();

const pronunciationDictionary = await elevenlabs.pronunciationDictionaries.createFromFile({
    file: fs.createReadStream("dictionary.pls"),
});

const audio1 = await elevenlabs.textToSpeech.convert("Without the dictionary: tomato", {
    voiceId: "aMSt68OGf4xUZAnLpTU8",
    modelId: "eleven_flash_v2",
});

const audio2 = await elevenlabs.textToSpeech.convert("With the dictionary: tomato", {
    voiceId: "aMSt68OGf4xUZAnLpTU8",
    modelId: "eleven_flash_v2",
    pronunciationDictionaryLocators: [
        {
            pronunciationDictionaryId: pronunciationDictionary.id,
            versionId: pronunciationDictionary.versionId,
        },
    ],
});

play(audio1);
play(audio2);
```

#### Ejecutar el código

```python
python example.py
```

```typescript
npx tsx example.mts
```

Deberías oír dos versiones del audio por los altavoces: una con el diccionario de pronunciación y otra sin él.

## Siguientes pasos

#### [Referencia de la API](/docs/es/api-reference/pronunciation-dictionaries/create-from-file)

Referencia completa de la API de diccionarios de pronunciación.

#### [Streaming de TTS](/docs/es/eleven-api/guides/how-to/text-to-speech/streaming)

Transmite texto a voz de forma progresiva para reproducirlo con menor latencia.