Skip to main content

Pronunciation and speech control

Three layers decide how a voice AI Agent says names, numbers, and codes. The text of the reply comes first. The text-to-speech (TTS) settings then decide how the voice reads that text. The speech-to-text (STT) settings decide how well the AI Agent hears the same words from the caller.

ProblemFixWhere
The voice reads a symbol, a date, or a URL badlyWrite the text the way it is saidVoice guidelines and dialog responses
The voice reads numbers or abbreviations badlyText normalizationVoice settings, text-to-speech row
The voice says a brand or a name wrongPronunciation dictionaryVoice settings, text-to-speech row
The voice is too fast or too slowSpeedVoice settings, text-to-speech row
The transcript misspells a name or a termKeyterms, keywords, or context termsVoice settings, speech-to-text row

Write text the way it is said​

For a reply that the AI Agent generates on a call, Moveo adds a voice formatting rule to the prompt. The rule removes markdown, emojis, and URLs. It also writes numbers, dates, amounts, and acronyms in spoken form. A text response that you write in a dialog does not always get this rule. Write those responses in spoken form yourself.

BeforeAfter
€1,250.50one thousand two hundred fifty euros and fifty cents
15/03/2026the fifteenth of March, twenty twenty-six
support@example.comsupport at example dot com
GR16 0110 1250 0000 0001 2300 695the account ending in six nine five
ATMA T M
Visit https://example.com/payYou can pay on our website

Text normalization​

Text normalization turns digits and abbreviations into words before the voice reads them. For example, it reads "1984" as "nineteen eighty-four" and "Dr." as "Doctor".

ProviderSettingValues
ElevenLabsText normalization (apply_text_normalization)auto (default) decides for each text. on always applies it. off reads the text as written.
MiniMaxEnglish normalization (english_normalization)On or off. It improves numbers and dates in English, with a small latency cost.

For eleven_flash_v2_5 and eleven_turbo_v2_5, ElevenLabs allows on only on an Enterprise ElevenLabs plan. On other plans, use auto and write numbers in spoken form, or use eleven_multilingual_v2.

Cartesia has no normalization setting in Moveo. For Cartesia, write numbers in spoken form.

Pronunciation dictionaries​

A pronunciation dictionary holds rules that tell the voice how to say a word. For example, a rule can make the voice say SEPA as "see-pa". Moveo-hosted ElevenLabs and Cartesia rows have the toggle Use account pronunciation dictionary. A row with your own speech model does not show the toggle, because your key cannot read the provider account of Moveo.

  • Moveo keeps the dictionary in its own provider account. The name of the dictionary is your account ID, or starts with your account ID and _.
  • If no dictionary matches, the toggle is disabled and shows "No dictionary found for this account."
  • For ElevenLabs, the row saves the current version of the dictionary. After a change to the dictionary, open the voice settings and click Save again.

With the API, you can also set the dictionaries of your own provider account on a step with your speech model. An ElevenLabs step takes dictionaries in pronunciation_dictionary_locators. Each locator must have a pronunciation_dictionary_id and a version_id. Moveo ignores a locator without a version_id. ElevenLabs accepts at most three, so set no more than three. A Cartesia step takes one pronunciation_dictionary_id.

{
"speech_model_id": "<speech_model_id>",
"provider": "elevenlabs",
"config": {
"model_id": "eleven_flash_v2_5",
"voice_id": "21m00Tcm4TlvDq8ikWAM",
"pronunciation_dictionary_locators": [
{ "pronunciation_dictionary_id": "<dictionary_id>", "version_id": "<version_id>" }
]
}
}

Speed and delivery​

ProviderSettings
ElevenLabsSpeed 0.7 to 1.2. Stability 0 to 1, default 0.85. Similarity 0 to 1, default 0.75.
CartesiaSpeed 0.6 to 1.5, default 1.0. Volume 0.5 to 2.0, default 1.0. Emotion neutral, calm, or content.
MiniMaxSpeed 0.5 to 2.0, default 1.0. Volume up to 10, default 1.0. Pitch -12 to 12, default 0.

Higher Stability keeps the voice consistent, but it can sound flat. Lower Stability adds expression. Click Test voice in the row to hear the result before you save.

Help the AI Agent hear terms​

The speech-to-text row has settings that help the model hear names, products, and jargon.

Provider and modelSettingLimit
Deepgram nova-3 and FluxKeyterms (keyterm)30 terms, 128 characters each
Deepgram nova-2Keywords (keywords)30 words, 128 characters each
Deepgram nova-3, nova-2Numerals (numerals) writes "twenty one" as "21"On or off
SonioxTerms (context.terms)100 terms, 256 characters each
SonioxContext (context.text)10,000 characters

ElevenLabs scribe_v2_realtime has no vocabulary setting in Moveo. The next table shows an example of the effect of a term.

Caller saysTranscript without a termTerm to addTranscript with the term
"Moveo"movie ohMoveoMoveo
"Kifisias Avenue"key fiss yes avenueKifisiasKifisias Avenue

Next steps​