Utiliser des dictionnaires de prononciation

Ce guide explique comment gérer des dictionnaires de prononciation par programmation.

Guide pratique · Suppose que vous avez suivi le démarrage rapide d’ElevenAPI.

Présentation

Les dictionnaires de prononciation vous permettent de personnaliser la façon dont votre agent IA prononce des mots ou expressions spécifiques. Ils sont particulièrement utiles pour :

  • Corriger la prononciation de noms, de lieux ou de termes techniques
  • Garantir une prononciation cohérente dans toutes les conversations
  • Personnaliser les variantes de prononciation régionales

ElevenLabs prend en charge les alphabets IPA et CMU.

Les balises de phonèmes des dictionnaires de prononciation fonctionnent uniquement avec les modèles eleven_v4, eleven_flash_v2 et eleven_v3.

Les autres modèles ignorent les balises de phonèmes du dictionnaire et utilisent la prononciation par défaut. Pour les autres modèles, utilisez plutôt des balises d’alias afin de remplacer des orthographes ou expressions et d’obtenir la prononciation souhaitée.

Pour utiliser les prononciations IPA et CMU dans des langues autres que l’anglais, vous devrez passer au modèle eleven_v4.

Démarrage rapide

Ce guide suppose que vous avez configuré votre clé API et votre SDK. Suivez d’abord le démarrage rapide si ce n’est pas encore fait.

1

Créer un fichier de dictionnaire de prononciation

Dans cet exemple, nous allons créer un fichier de dictionnaire de prononciation pour le mot tomato.

Cette règle utilisera l’alphabet « IPA » et modifiera la prononciation de tomato et Tomato. Les fichiers PLS sont sensibles à la casse, c’est pourquoi nous incluons les deux formes, avec et sans majuscule initiale « T ».

Vous pouvez utiliser des outils d’IA comme Claude ou ChatGPT pour vous aider à générer des notations IPA ou CMU pour des mots spécifiques.

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

Créer un dictionnaire de prononciation à partir d’un fichier via le SDK

Créez un fichier nommé example.py ou example.mts, selon le langage de votre choix, puis ajoutez le code suivant :

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

Exécuter le code

python example.py

Vous devriez entendre deux versions de l’audio diffusées par vos haut-parleurs, l’une avec et l’autre sans dictionnaire de prononciation.

Étapes suivantes