Korzystanie ze słowników wymowy

Ten przewodnik pokaże ci, jak programowo zarządzać słownikami wymowy.

Przewodnik krok po kroku · Zakłada, że ukończyłeś szybki start ElevenAPI.

Omówienie

Słowniki wymowy pozwalają dostosować sposób, w jaki twój agent AI wymawia konkretne słowa lub frazy. Jest to szczególnie przydatne do:

  • Poprawiania wymowy nazw, miejsc lub terminów technicznych
  • Zapewnienia spójnej wymowy we wszystkich rozmowach
  • Dostosowania regionalnych wariantów wymowy

ElevenLabs obsługuje alfabet IPA i CMU.

Tagi fonemów ze słownika wymowy działają tylko z modelami eleven_v4, eleven_flash_v2 i eleven_v3.

Inne modele pomijają tagi fonemów ze słownika i używają domyślnej wymowy. W przypadku innych modeli użyj zamiast tego tagów aliasów, aby podmienić pisownię lub frazy tak, by uzyskać potrzebną wymowę.

Jeśli chcesz używać wymowy IPA i CMU w językach innych niż angielski, musisz przełączyć się na model eleven_v4.

Szybki start

Ten przewodnik zakłada, że skonfigurowałeś klucz API i SDK. Jeśli jeszcze tego nie zrobiłeś, najpierw ukończ szybki start.

1

Utwórz plik słownika wymowy

W tym przykładzie utworzymy plik słownika wymowy dla słowa tomato.

Ta reguła użyje alfabetu „IPA” i zmieni wymowę tomato oraz Tomato. Pliki PLS rozróżniają wielkość liter, dlatego uwzględniamy oba warianty: z wielkim i małym „T”.

Możesz użyć narzędzi AI, takich jak Claude lub ChatGPT, aby wygenerować zapis IPA lub CMU dla konkretnych słów.

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

Utwórz słownik wymowy z pliku przez SDK

Utwórz nowy plik o nazwie example.py lub example.mts, zależnie od wybranego języka, i dodaj poniższy kod:

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

Uruchom kod

python example.py

Powinieneś usłyszeć w głośnikach dwie wersje audio: jedną ze słownikiem wymowy i drugą bez niego.

Kolejne kroki