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

# Audio Customization

> Choose the agent's voice and tune how it sounds (speed, pitch, emotion) through the TTS plugin.

How the agent sounds is controlled by the [text-to-speech](/plugins/tts/cartesia) plugin in
the pipeline. Each TTS provider exposes a voice plus tuning knobs; set them on the plugin's
constructor.

## Choose a voice

Pass the provider's voice identifier. Voices and the exact option names vary by provider. See
each [TTS plugin page](/plugins/overview) for the full list.

<CodeGroup>
  ```python Python theme={null}
  from zrt.plugins import CartesiaTTS

  tts = CartesiaTTS(
      voice="<voice-id>",
      speed=1.0,
  )

  # Pipeline(tts=tts, ...)
  ```
</CodeGroup>

## Common tuning knobs

The exact set depends on the provider, but most TTS plugins support some of:

| Knob                | Effect                                          |
| :------------------ | :---------------------------------------------- |
| `voice` / `speaker` | The voice identity.                             |
| `speed` / `pace`    | How fast the agent talks.                       |
| `pitch`             | Higher or lower voice.                          |
| `emotion`           | Emotional tone, where the provider supports it. |
| `language`          | Spoken language / accent.                       |
| `sample_rate`       | Output audio sample rate.                       |

<Tip>
  For voice agents, lower latency usually beats richer prosody. Prefer a fast model and streaming
  synthesis, and keep replies short.
</Tip>

## Speaking on demand

Make the agent speak a specific line at any time with `session.say()`:

<CodeGroup>
  ```python title="main.py" Python theme={null}
  await self.session.say("Let me look that up for you.")
  ```
</CodeGroup>

To fix how specific words are pronounced (acronyms, brand names), transform the text before it
reaches TTS. See [Text Transformation](/build/modalities/text/transformation).

## References

<Tabs>
  <Tab title="Python">
    #### Examples

    <CardGroup cols={2}>
      <Card title="Enhanced Pronunciation" icon="github" href="https://github.com/ZeroRuntimeAI/zrt-python-sdk-examples/blob/main/features/pronunciation.py">
        Customize pronunciation of names and terms.
      </Card>

      <Card title="Multilingual Demo" icon="github" href="https://github.com/ZeroRuntimeAI/zrt-python-sdk-examples/blob/main/features/multilingual.py">
        Switch speech languages within an agent.
      </Card>
    </CardGroup>

    #### SDK Reference

    <CardGroup cols={2}>
      <Card title="Speech Generation" icon="book" href="/api-reference/python/core/agent-and-session">
        `Speech Generation` in the Python API reference.
      </Card>

      <Card title="TTS" icon="book" href="/api-reference/python/core/pipeline">
        `TTS` in the Python API reference.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
