Skip to content

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