Skip to main content

Overview

English phoneme control uses CMU Arpabet, the pronunciation format used by CMUdict. Wrap the pronunciation for one word in <|phoneme_start|> and <|phoneme_end|>, and keep surrounding punctuation outside the tag.
drama-3 models also accept IPA inside phoneme tags, for example <|phoneme_start|>ˈɛndʒəˈnɪr<|phoneme_end|>. Other models do not support IPA; convert IPA pronunciations to CMU Arpabet before using phoneme control with them.

CMU Arpabet

CMU Arpabet is written as space-separated uppercase symbols. Vowels can include stress digits:
  • 0 for unstressed vowels.
  • 1 for primary stress.
  • 2 for secondary stress.
For the full symbol inventory, see the CMUdict cmudict.symbols list. You can also look up words on the CMU Pronouncing Dictionary page. Example:
You can omit stress digits when you only need a rough pronunciation, but CMUdict-style output with stress digits usually gives the model the clearest signal.

Common Examples

Use phoneme control when spelling alone is ambiguous:
Use it for product names, acronyms, and technical terms:

Generate CMU Arpabet

The training pipeline uses CMUdict-style pronunciations. You can generate the same format with the cmudict package:
CMUdict may contain multiple pronunciations for the same word. Listen to the result and choose the variant that matches your intended accent or context.

Practical Tips

  • Replace only the word whose pronunciation needs control.
  • Strip punctuation before dictionary lookup, then place punctuation after the tag.
  • Use CMU Arpabet for English phoneme tags.
  • For names and brands, write the pronunciation that you want the listener to hear, not necessarily the spelling.