# Text to Speech for Voice Agents: Providers, Voices, Settings

Choose the text to speech provider and voice for a voice agent, and tune stability, clarity, speed, latency and text normalisation so it sounds natural on the phone.

> Source: https://www.robylon.ai/docs/voice/text-to-speech
> Section: Voice

Text to speech (TTS) turns the agent's replies into the voice the caller hears. The provider and voice decide how natural, clear and fast the agent sounds, and how well it pronounces your language.

Set it in the voice agent under **Voice Configurations**.

## Which text to speech providers are supported?

| Provider | Models |
| --- | --- |
| **ElevenLabs** | Eleven Turbo v2.5, Eleven Flash v2.5 (default) |
| **Google** | Google Chirp 3 |
| **Cartesia** | Sonic 2, Sonic 3 (default) |
| **Sarvam** | Sarvam Bulbul |
| **Gemini Live** | Gemini 2.5 Flash (native audio), Gemini 3.1 Flash Live (preview) |

Choose the **Provider**, then the **Model** and the **Voice**.

**Gemini Live** is different from the others: it is a speech-to-speech model that listens and speaks itself, rather than turning text into audio after a separate LLM has replied.

When **Gemini Live** is selected, calls use fixed values for these settings, whatever is set in the builder: temperature 0.6, a silence reminder with a contextual message after 15 seconds, a 60 second **Silence Timeout** and a 570 second **Maximum Duration**. The model, voice and language you choose still apply.

## Which provider should I choose?

| Your callers speak | Recommended | Why |
| --- | --- | --- |
| English and Hindi | **ElevenLabs Turbo v2.5** | Very natural, expressive, human-like voices in both English and Hindi. ElevenLabs also supports cloned voices. |
| Other Indian languages | **Cartesia**, **Sarvam** or **Google** | Cartesia covers many Indian languages well. Sarvam has low latency but less control over nuance. Google voices can sound robotic. |
| General English, or a specific persona or accent | **ElevenLabs** | Pick a stock voice that matches the accent and feel you need, or use a cloned voice. |

## Can I use my own or a cloned voice?

Yes. When you open the voice list in **Voice Configurations**:

- **Clone voice** creates a new ElevenLabs voice from an audio sample you upload. Give it a name, upload the audio file, and confirm you have the rights and consent to clone the voice.
- **Add by ID** adds an existing ElevenLabs or Cartesia voice by its voice ID.

Added and cloned voices appear at the top of the list, and can then be picked like any other voice.

## How do I choose a voice?

Choosing a voice takes a few rounds. Settle it early, because your prompt is tuned to it.

<Steps>
  <Step title="Pick the provider">
    Choose by language and naturalness, using the table above.
  </Step>
  <Step title="Pick a starting voice">
    Choose a stock voice with the accent and native-language feel your callers expect, or a cloned voice.
  </Step>
  <Step title="Write and test the prompt with that voice">
    Make test calls and refine the wording, phrasing and punctuation of what the agent says. Each voice has its own intonation, so these changes set the tone, emphasis and pacing for that voice.
  </Step>
  <Step title="Lock the voice">
    Changing the voice after tuning means redoing much of the prompt work, because it does not carry over to a new voice.
  </Step>
  <Step title="Review accent and pronunciation">
    Ask people from your target audience to listen to test calls and confirm the voice sounds right to them.
  </Step>
</Steps>

## What do the voice settings do?

These settings fine-tune how the voice sounds. The recommendations are starting points: change one at a time and listen to a test call.

Stability, Clarity + Similarity, Style Exaggeration, Optimize Streaming Latency and Use Speaker Boost are ElevenLabs settings. Speed applies to ElevenLabs, Cartesia and Sarvam. Auto Mode and Text normalisation apply to ElevenLabs and Sarvam.

| Setting | What it does | Range | Recommended |
| --- | --- | --- | --- |
| **Stability** | Lower values are more expressive and react more to punctuation (**More Variable**). Higher values are calmer and more predictable (**More Stable**) but can sound less natural. A value of 0 counts as not set, and the default is used. | 0 to 1, default 0.75 | Start at 0.5. For stock voices, lower it slightly and raise clarity. For cloned voices, go higher, around 0.8, to keep the voice consistent. |
| **Clarity + Similarity** | How closely the audio matches the original voice. Low values lose resemblance and clarity. A value of 0 counts as not set, and the default is used. | 0 to 1, default 0.75 | Start at 0.5. Around 0.75 for cloned voices. |
| **Speed** | How fast the agent speaks. Very slow speech hurts pronunciation. | 0.1 to 3 in the builder, default 1.0. On ElevenLabs, 0.9 to 1.1 takes effect: lower values count as 0.9 and higher values as 1.1. | Start at 1.0. |
| **Style Exaggeration** | How much dramatic emphasis and emotion the voice adds. Higher values are also slower. On calls the value is rounded down to a whole number, so anything below 1 counts as 0. | 0 to 1, default 0 | 0 for transactional calls. |
| **Optimize Streaming Latency** | Trades a little audio quality for faster speech. | 0 (**More Latency**) to 4 (**Less Latency**), default 0 | 3 or 4 |
| **Use Speaker Boost** | Boosts similarity to the original voice for clearer, punchier audio on phone lines, at the cost of some generation speed. | On or off, default off | On |
| **Auto Mode** | Reduces latency for complete sentences, but can lower quality on partial phrases. | On or off, default off | On |
| **Smart Chunking** | Splits replies at real sentence boundaries (in any script) for smoother speech. It never splits decimals, abbreviations or URLs. | On or off, default off | Try it if speech sounds choppy |
| **Text normalisation** | Turns written text into spoken form, so "Rs. 5,000" is read as "five thousand rupees". | **ON**, **AUTO** (default) or **OFF** | On, except where every digit must be read out, such as OTPs and IDs |
| **Background sound** | Plays ambient sound under the call. | **Off** (default), **Office**, **Office without typing** | Off, unless you want the call to sound like it comes from an office |
| **Input min characters** | The minimum amount of text collected before speech starts. | 5 to 10000, default 30 | Leave at the default |
| **Punctuation Boundary** | The punctuation marks where text is split into chunks for speech. | Multi-select | Leave empty unless advised |

## How do I make numbers and names sound right?

- Leave **Text normalisation** on so amounts, dates and currencies are read naturally.
- Switch it off for agents that must read codes, such as OTPs and IDs, digit by digit.
- Add brand and product names to **Boosted Keywords** in [Speech to text](https://www.robylon.ai/docs/voice/speech-to-text) so the agent hears them correctly, and listen to a test call to check how the voice says them.
