keryx voice lexicon¶
Description¶
Manage the pronunciation dictionary as code. Instead of hand-editing rules in
the ElevenLabs web UI, keep a version-controlled pronunciation.yaml in your
project and push it to the voice provider's dictionary with one command. keryx
stays stateless — the file lives in the owning project (spec 0022 R-GEN-35).
This complements the reference-first path: a theme or workspace already points at
a dictionary id via voice.pronunciation, and synthesis attaches it (spec 0022
R-GEN-31/32). voice lexicon is how you author that dictionary's contents from
the repo.
keryx voice lexicon add keryx --ipa "ˈkɛrɪks" # declare a rule
keryx voice lexicon add ffmpeg --alias "eff em peg"
keryx voice lexicon list # review what's declared
keryx voice lexicon sync --dict SQnFpW9tuADX8ugtpo00 # push to the dictionary
Subcommands¶
| Verb | Purpose | Provider call? |
|---|---|---|
list |
Show the rules declared in pronunciation.yaml. |
No (offline) |
add |
Add or update one rule (--ipa or --alias). |
No (offline) |
sync |
Push the declared rules to the provider dictionary. | Yes |
The pronunciation file¶
pronunciation.yaml (override with --file) is a list of rules. Each maps a word
to either an IPA phoneme string or a plain-spelling alias — exactly one:
rules:
- word: keryx
ipa: ˈkɛrɪks # phoneme rule (alphabet: ipa)
- word: ffmpeg
alias: eff em peg # alias respelling — works on any TTS model
An alias respelling applies on any model; an IPA phoneme applies only on a
phoneme-capable model (e.g. eleven_flash_v2), matching the per-line --ipa
behaviour in voice gen.
Provider support¶
Dictionary management is an optional provider capability. The default
ElevenLabs voice provider supports it; a provider that does not will report a
clear error from sync (list/add are offline and always work).