Uso de diccionarios de pronunciación

Esta guía te muestra cómo gestionar diccionarios de pronunciación mediante programación.

Guía práctica · Da por hecho que has completado la guía rápida de ElevenAPI.

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

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

Esta guía presupone que has configurado tu clave de API y SDK. Completa primero la guía rápida si aún no lo has hecho.

1

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.

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

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

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:

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)
3

Ejecutar el código

python example.py

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

Siguientes pasos