Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d16e9f6
update primary tts page
hey-august Dec 4, 2025
9f5435c
elevenlabs
hey-august Dec 4, 2025
c8f0d2f
test
hey-august Dec 5, 2025
1832fc1
remove test file
hey-august Dec 5, 2025
654341f
rime
hey-august Dec 5, 2025
de26466
Merge branch 'main' into august-20251204-tts-updates
hey-august Dec 10, 2025
4eca55c
Merge branch 'main' into august-20251204-tts-updates
hey-august Dec 12, 2025
b3f945c
update google
hey-august Dec 16, 2025
cd891cb
update openai
hey-august Dec 16, 2025
90d1ca4
update polly
hey-august Dec 16, 2025
30f3cdc
update deepgram
hey-august Dec 16, 2025
a6f79b9
update cartesia
hey-august Dec 16, 2025
2748808
update azure
hey-august Dec 16, 2025
d1e49be
Merge branch 'main' into august-20251204-tts-updates
hey-august Dec 22, 2025
228aefc
merge
hey-august Dec 23, 2025
8f71d0a
cartesia
hey-august Dec 23, 2025
2cade0d
links fix
hey-august Dec 23, 2025
b8df82e
fix merge shenanigans
hey-august Dec 23, 2025
3732244
Delete .pr.md
hey-august Dec 23, 2025
c3b9826
Merge branch 'main' into august-20251204-tts-updates
hey-august Dec 29, 2025
6593462
update rime.mdx
hey-august Dec 30, 2025
abf5766
remove image
hey-august Dec 30, 2025
f0f65d7
update index.mdx with language support
hey-august Dec 30, 2025
0b87628
update models and languages in cartesia.mdx
hey-august Dec 30, 2025
e02749c
update index.mdx
hey-august Dec 30, 2025
8f26eeb
update deepgram.mdx
hey-august Dec 30, 2025
a88eea2
update elevenlabs.mdx
hey-august Dec 30, 2025
2e3f677
update google.mdx
hey-august Dec 30, 2025
b2fcb76
update openai.mdx
hey-august Dec 30, 2025
7ead7e1
update polly.mdx
hey-august Dec 30, 2025
8f17eb5
update cartesia.mdx
hey-august Dec 30, 2025
47b6bc0
update cartesia.mdx
hey-august Dec 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions website/docs/agents-sdk/building-agents/voice-language.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,13 @@ self.add_language("English", "en-US", "elevenlabs.josh:eleven_turbo_v2_5")

| Provider | Engine Code | Example Voice | Reference |
|----------|-------------|---------------|-----------|
| Amazon Polly | `amazon` | `amazon.Joanna-Neural` | [Voice IDs](https://developer.signalwire.com/voice/tts/amazon-polly#voice-ids) |
| Cartesia | `cartesia` | `cartesia.a167e0f3-df7e-4d52-a9c3-f949145efdab` | [Voice IDs](https://developer.signalwire.com/voice/tts/cartesia#voice-ids) |
| Deepgram | `deepgram` | `deepgram.aura-asteria-en` | [Voice IDs](https://developer.signalwire.com/voice/tts/deepgram#voice-ids) |
| ElevenLabs | `elevenlabs` | `elevenlabs.thomas` | [Voice IDs](https://developer.signalwire.com/voice/tts/elevenlabs#voice-ids) |
| Google Cloud | `gcloud` | `gcloud.en-US-Casual-K` | [Voice IDs](https://developer.signalwire.com/voice/tts/gcloud#voice-ids) |
| Microsoft Azure | `azure` | `azure.en-US-AvaNeural` | [Voice IDs](https://developer.signalwire.com/voice/tts/azure#voice-ids) |
| OpenAI | `openai` | `openai.alloy` | [Voice IDs](https://developer.signalwire.com/voice/tts/openai#voice-ids) |
| Amazon Polly | `amazon` | `amazon.Joanna-Neural` | [Voice IDs](https://developer.signalwire.com/voice/tts/amazon-polly#usage) |
| Cartesia | `cartesia` | `cartesia.a167e0f3-df7e-4d52-a9c3-f949145efdab` | [Voice IDs](https://developer.signalwire.com/voice/tts/cartesia#usage) |
| Deepgram | `deepgram` | `deepgram.aura-asteria-en` | [Voice IDs](https://developer.signalwire.com/voice/tts/deepgram#usage) |
| ElevenLabs | `elevenlabs` | `elevenlabs.thomas` | [Voice IDs](https://developer.signalwire.com/voice/tts/elevenlabs#usage) |
| Google Cloud | `gcloud` | `gcloud.en-US-Casual-K` | [Voice IDs](https://developer.signalwire.com/voice/tts/gcloud#usage) |
| Microsoft Azure | `azure` | `azure.en-US-AvaNeural` | [Voice IDs](https://developer.signalwire.com/voice/tts/azure#usage) |
| OpenAI | `openai` | `openai.alloy` | [Voice IDs](https://developer.signalwire.com/voice/tts/openai#usage) |
| Rime | `rime` | `rime.luna:arcana` | [Voice IDs](https://developer.signalwire.com/voice/tts/rime#voices) |

### Filler Phrases
Expand Down
522 changes: 0 additions & 522 deletions website/docs/main/home/calling/voice/tts/_azure-voices.mdx

This file was deleted.

108 changes: 100 additions & 8 deletions website/docs/main/home/calling/voice/tts/azure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,118 @@ description: Learn how to use Azure TTS voices on the SignalWire platform.
slug: /voice/tts/azure
---

import AzureVoices from './_azure-voices.mdx';

# Microsoft Azure

Microsoft's Azure platform offers an impressive array of high-quality, multilingual voices in its Neural model.

## Languages
## Voices {#voices}

<CardGroup cols="2">
<Card title="Voices" href="https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts">
Browse the complete list of Azure Neural voices in Microsoft's official documentation.
</Card>
<Card title="Voice gallery" href="https://speech.microsoft.com/portal/voicegallery">
Listen to audio samples and preview voices in Azure's interactive voice gallery.
</Card>
</CardGroup>

## Usage {#usage}

Azure voice IDs conform to the following format:

```
azure.<voice>
```

Where `<voice>` is the full Azure voice code (e.g., `en-US-AvaNeural`).

**Examples:**
```
azure.en-US-AvaNeural
azure.en-GB-SoniaNeural
azure.de-DE-KatjaNeural
azure.es-ES-ElviraNeural
```

**Note:** Azure voice IDs already include language information, so no additional language parameter is needed.

## Languages {#languages}

Azure Neural voices are interchangeably compatible with all supported languages.
Rather than setting language with the language `code`,
simply provide input text in the desired language.

Consult the Azure
Consult the Azure
[supported languages resource](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts)
for an up-to-date list of supported languages.

## Voice IDs
## SSML support {#ssml}

Azure voices support [Speech Synthesis Markup Language (SSML)](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup) for advanced control over:

- Prosody (pitch, rate, volume)
- Emphasis and breaks
- Phonetic pronunciation
- Multi-language content

Consult Azure's [SSML documentation](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup) for detailed usage instructions.

---

<div style={{"display":"inline-block","max-height":"70vh","overflow-y":"auto"}}>
## Examples {#examples}

<AzureVoices />
Learn how to use Azure voices on the SignalWire platform.

</div>
<Tabs>
<TabItem value="swml" label="SWML">
Use the
[**`languages`**](/swml/methods/ai/languages#use-voice-strings)
SWML method to set one or more voices for an [AI agent](/swml/methods/ai).
```yaml
version: 1.0.0
sections:
main:
- ai:
prompt:
text: Have an open-ended conversation about flowers.
languages:
- name: English
code: en-US
voice: azure.en-US-AvaNeural
```
Alternatively, use the [**`say_voice`** parameter](/swml/methods/play#parameters)
of the [**`play`**](/swml/methods/play)
SWML method to select a voice for basic TTS.
```yaml
version: 1.0.0
sections:
main:
- set:
say_voice: "azure.en-US-AvaNeural"
- play: "say:Greetings. This is the Ava voice from Microsoft Azure's Neural text-to-speech model."
```
</TabItem>
<TabItem value="relay" label="RELAY Realtime SDK">
```javascript
// This example uses the Node.js SDK for SignalWire's RELAY Realtime API.
const playback = await call.playTTS({
text: "Greetings. This is the Ava voice from Microsoft Azure's Neural text-to-speech model.",
voice: "azure.en-US-AvaNeural",
});
await playback.ended();
```
</TabItem>
<TabItem value="cfb" label="Call Flow Builder">
Azure voices are not yet supported in Call Flow Builder.
</TabItem>
<TabItem value="cxml" label="cXML">
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="azure.en-US-AvaNeural">
Greetings. This is the Ava voice from Microsoft Azure's Neural text-to-speech model.
</Say>
</Response>
```
</TabItem>
</Tabs>
75 changes: 65 additions & 10 deletions website/docs/main/home/calling/voice/tts/cartesia.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,34 @@ import CodeBlock from '@theme/CodeBlock';
# Cartesia

Cartesia offers a wide selection of fully multilingual voices with very low latency.
[Create a Cartesia account](https://play.cartesia.ai) to browse and test voices in the Cartesia Playground.

Consult [Cartesia's Text-to-Speech documentation](https://docs.cartesia.ai/build-with-cartesia/models/tts)
for more information and audio samples for available voices.
[Create a Cartesia Account](https://play.cartesia.ai) to browse and test voices in the Cartesia Playground.
## Models {#models}

## Voice IDs
Cartesia provides multiple generations of its Sonic TTS model:

Copy the voice ID from the below table:
| Model | Description |
|-------|-------------|
| `sonic-3` | **Default.** Latest model with enhanced naturalness |
| `sonic-2` | Second-generation model with improved quality |
| `sonic-turbo` | Optimized for ultra-low latency |
| `sonic` | The first version of Sonic, optimized for accuracy and low latency. |


All Cartesia voices can be used with any model.

<CardGroup cols="2">
<Card title="Sonic 3" href="https://docs.cartesia.ai/build-with-cartesia/tts-models/latest">
Learn about Cartesia's latest Sonic 3 model.
</Card>
<Card title="Previous models" href="https://docs.cartesia.ai/build-with-cartesia/tts-models/older-models">
Documentation for older Sonic model versions.
</Card>
</CardGroup>

## Voices {#voices}

Copy the voice ID from the table below:

<div style={{"display":"inline-block","max-height":"70vh","overflow-y":"auto"}}>

Expand Down Expand Up @@ -153,14 +173,49 @@ Copy the voice ID from the below table:
| British Customer Support Lady | <CodeBlock>a01c369f-6d2d-4185-bc20-b32c225eab70</CodeBlock> |
| Chinese Woman Narrator | <CodeBlock>d4d4b115-57a0-48ea-9a1a-9898966c2966</CodeBlock> |

</div><br /><br />
</div>

<br/>
<br/>

For more information, refer to Cartesia's guide to
[Choosing a Voice](https://docs.cartesia.ai/build-with-cartesia/capability-guides/choosing-a-voice).

## Usage {#usage}

Cartesia voice IDs conform to the following format:

```
cartesia.<voice_id>:<model>
```

**Parameters:**
- `voice_id` (required): The UUID voice identifier from the [Voices](#voices) table
- `model` (optional): One of the Sonic models listed above (default: `sonic-3`)

**Examples:**
```
cartesia.a167e0f3-df7e-4d52-a9c3-f949145efdab
cartesia.694f9389-aac1-45b6-b726-9d9369183238:sonic-3
cartesia.829ccd10-f8b3-43cd-b8a0-4aeaa81f3b30:sonic-turbo
```

## Languages {#languages}

Cartesia voices are fully multilingual when used with `sonic-multilingual`, `sonic-2`, `sonic-3`, or `sonic-3` models.
The multilingual models automatically adapt to the input text language.

Supported languages include: English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Russian, Chinese, Japanese, Korean, Hindi, Turkish, Swedish, and many more.

Prepend `cartesia.` and the string is ready for use.
For example: `cartesia.a167e0f3-df7e-4d52-a9c3-f949145efdab`
For the complete list, refer to Cartesia's
[Sonic 3 language support](https://docs.cartesia.ai/build-with-cartesia/tts-models/latest#language-support)
and
[Sonic 2 language support](https://docs.cartesia.ai/build-with-cartesia/tts-models/older-models#sonic-2-language-support)
references.

---

## Examples
## Examples {#examples}

See how to use Cartesia voices on the SignalWire platform.

Expand Down Expand Up @@ -204,7 +259,7 @@ await playback.ended();
```
</TabItem>
<TabItem value="cfb" label="Call Flow Builder">
OpenAI voices are not yet supported in Call Flow Builder.
Cartesia voices are not yet supported in Call Flow Builder.
</TabItem>
<TabItem value="cxml" label="CXML">
```xml
Expand Down
66 changes: 54 additions & 12 deletions website/docs/main/home/calling/voice/tts/deepgram.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,67 @@ slug: /voice/tts/deepgram

# Deepgram

Deepgram offers a range of **English-speaking** voices for its text-to-speech API, each designed to produce
natural-sounding speech output in an array of different accents and speaking styles.
Deepgram's Aura model offers a wide range of voices for its text-to-speech API,
each designed to produce natural-sounding speech output in an array of different accents and speaking styles.

Deepgram's voices are promised to have human-like tones, rhythm, and emotion, lower than 250 ms
latency, and are optimized for high-throughput applications.
Deepgram voices have human-like tones, rhythm, and emotion,
lower than 250 ms latency,
and are optimized for high-throughput applications.

Consult Deepgram's [TTS models guide](https://developers.deepgram.com/docs/tts-models)
Consult Deepgram's [TTS models guide](https://developers.deepgram.com/docs/tts-models)
for more information and samples for supported voices.

## Voice IDs
## Models {#models}

Copy the voice ID from the **Values** column of Deepgram's
[Voice Selection](https://developers.deepgram.com/docs/tts-models) reference.
Prepend `deepgram.` and the string is ready for use.
For example: `deepgram.aura-athena-en`
Deepgram's Aura model provides ultra-low latency text-to-speech optimized for conversational AI:

| Model | Description |
|-------|-------------|
| `aura` | **Default** - Low-latency conversational TTS with human-like tones |

## Voices {#voices}

Deepgram Aura voices are designed for natural-sounding English speech. Each voice follows the pattern `aura-<name>-en`.

Popular voices include:
- `aura-asteria-en` - Clear, professional female voice
- `aura-luna-en` - Warm, conversational female voice
- `aura-stella-en` - Energetic, friendly female voice
- `aura-athena-en` - Authoritative female voice
- `aura-hera-en` - Mature, confident female voice
- `aura-orion-en` - Deep, authoritative male voice
- `aura-arcas-en` - Professional male voice
- `aura-perseus-en` - Friendly male voice
- `aura-angus-en` - Casual male voice
- `aura-orpheus-en` - Smooth, articulate male voice
- `aura-helios-en` - Energetic male voice
- `aura-zeus-en` - Powerful, commanding male voice

For a complete list, consult Deepgram's [Voice Selection guide](https://developers.deepgram.com/docs/tts-models).

## Usage {#usage}

Deepgram voice IDs conform to the following format:

```
deepgram.<voice>
```

Where `<voice>` is the voice identifier from Deepgram's [Voice Selection](https://developers.deepgram.com/docs/tts-models) reference.

Copy the voice ID from the **Values** column of Deepgram's Voice Selection reference, prepend `deepgram.`, and the string is ready for use.

**Examples:**
```
deepgram.aura-asteria-en
deepgram.aura-orion-en
deepgram.aura-luna-en
deepgram.aura-zeus-en
```

---

## Examples
## Examples {#examples}

Learn how to use Deepgram voices on the SignalWire platform.

Expand Down Expand Up @@ -80,4 +122,4 @@ Deepgram voices are not yet supported in Call Flow Builder.
</Response>
```
</TabItem>
</Tabs>
</Tabs>
Loading