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.
IPA is not supported for English phoneme tags. Convert IPA pronunciations to CMU Arpabet before using phoneme control.

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.