> ## Documentation Index
> Fetch the complete documentation index at: https://doc.rapida.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Speak

> Configure how Rapida turns assistant responses into spoken output.

Speak settings control how assistant text becomes audio. Use this section for `speak.*` runtime options and deployment settings related to text-to-speech, voices, pronunciation, ambient audio, and speech delivery.

```mermaid theme={null}
flowchart LR
    A["LLM + tools"] --> B["Assistant text"]
    B --> C["Text-to-Speech"]
    C --> D["User hears response"]
```

<Info>
  Speak settings are used by voice-capable deployments: Phone Call, Web Widget with spoken responses, and Web App / SDK with spoken responses. Text-only channels do not use speak configuration.
</Info>

## Configure it

Open your assistant, select **Configure Assistant**, then open **Deployments**. Speak settings appear in the **Voice Output** step for each deployment that supports spoken responses.

| Area           | What it controls                                                                   |
| -------------- | ---------------------------------------------------------------------------------- |
| Text-to-Speech | Provider, credential, model, voice, language, and speech synthesis behavior.       |
| Pronunciation  | How dates, times, numbers, addresses, URLs, acronyms, and domain terms are spoken. |
| Delivery       | Pause behavior, conjunction boundaries, and optional ambient audio.                |

## Configuration pages

<CardGroup cols={2}>
  <Card title="Text-to-Speech" icon="volume-2" href="/assistants/text-to-speech">
    Choose the provider, voice, model, language, pronunciation, and speech delivery settings.
  </Card>

  <Card title="Custom TTS" icon="settings" href="/integrations/tts/custom">
    Connect a custom WebSocket speech synthesis provider with DSL rules.
  </Card>
</CardGroup>

## Recommended starting point

| Area          | Start with                                                                                                  |
| ------------- | ----------------------------------------------------------------------------------------------------------- |
| TTS           | A low-latency streaming voice that supports the assistant's primary language.                               |
| Pronunciation | Enable dictionaries for numbers, currency, dates, times, URLs, and domain terms that users will hear often. |
| Prompt        | Short spoken responses, usually one or two sentences.                                                       |

<Tip>
  Tune speak settings by listening to full conversations in the target channel. A voice that sounds good in a browser preview can still sound unclear over phone audio.
</Tip>

## Runtime overrides

You can override speak settings for a single outbound phone call by passing `speak.*` or `speaker.*` keys in `CreatePhoneCallRequest.options`. Runtime overrides do not update the saved deployment.

```json theme={null}
{
  "options": {
    "speak.voice.id": "VOICE_ID_PLACEHOLDER",
    "speak.language": "en",
    "speak.model": "sonic-2",
    "speak.audio.encoding": "mulaw",
    "speak.audio.sample_rate": 8000,
    "speaker.conjunction.boundaries": "and<|||>but<|||>or",
    "speaker.conjunction.break": 240
  }
}
```

| Option key                              | Type               | Description                                               |
| --------------------------------------- | ------------------ | --------------------------------------------------------- |
| `speak.voice.id`                        | `string`           | TTS voice ID for this call.                               |
| `speak.language`                        | `string`           | Output speech language or provider language code.         |
| `speak.model`                           | `string`           | Provider-specific TTS model.                              |
| `speak.audio.encoding`                  | `string`           | Output audio encoding when supported by the provider.     |
| `speak.audio.sample_rate`               | `number`           | Output audio sample rate.                                 |
| `speak.query_params`                    | JSON object string | Custom TTS provider query parameters.                     |
| `speak.request_rules`                   | JSON array string  | Custom TTS request DSL rules.                             |
| `speak.response_rules`                  | JSON array string  | Custom TTS response DSL rules.                            |
| `speak.__experimental_controls.speed`   | `string`           | Provider-specific experimental speed control.             |
| `speak.__experimental_controls.emotion` | `string`           | Provider-specific experimental emotion control.           |
| `speak.speed_alpha`                     | `string`           | Provider-specific speed alpha control.                    |
| `speak.speed`                           | `string`           | Provider-specific speaking speed.                         |
| `speaker.language`                      | `string`           | Speaker normalization language.                           |
| `speaker.voice.name`                    | `string`           | Human-readable speaker or voice name.                     |
| `speaker.conjunction.boundaries`        | `string`           | Delimiter-separated words where Rapida can insert pauses. |
| `speaker.conjunction.break`             | `number`           | Pause duration at conjunction boundaries in milliseconds. |
| `speaker.pronunciation.dictionaries`    | `string`           | Pronunciation dictionary configuration.                   |
| `speaker.ambient`                       | `string`           | Ambient audio preset.                                     |
| `speaker.ambient_volume`                | `number`           | Ambient audio volume.                                     |

## Troubleshooting map

| Symptom                                          | First place to look                                                                  |
| ------------------------------------------------ | ------------------------------------------------------------------------------------ |
| Assistant voice starts slowly                    | [Text-to-Speech](/assistants/text-to-speech) model latency and response length       |
| Assistant mispronounces product names or numbers | [Text-to-Speech](/assistants/text-to-speech) pronunciation dictionaries              |
| Assistant sounds rushed                          | Conjunction boundaries, pause duration, and prompt response length                   |
| Voice sounds poor on phone                       | Test through [Phone Call](/voice-deployment-options/phone), not only browser preview |

## Related

<CardGroup cols={2}>
  <Card title="Experience" icon="sliders-horizontal" href="/assistants/configuration/experience">
    Configure greeting, idle timeout, error message, and session duration.
  </Card>

  <Card title="Listen" icon="mic" href="/assistants/configuration/listen">
    Configure speech-to-text, VAD, noise cancellation, and end-of-speech.
  </Card>

  <Card title="Phone Call Deployment" icon="phone" href="/voice-deployment-options/phone">
    Configure required voice output for phone calls.
  </Card>

  <Card title="Web Widget Deployment" icon="message-square" href="/voice-deployment-options/web-widget">
    Configure optional spoken responses in the web widget.
  </Card>
</CardGroup>
