Skip to main content

Text-to-Speech Configuration

Text-to-Speech (TTS) converts your bot's text responses into natural-sounding speech. Configure TTS settings in the Text-to-Speech tab of the Phone Channel.

Creating a TTS Provider​

TTS providers are created once on the global Provider Management page and then enabled per bot. The phone channel can only use a provider that is both created there and enabled for the current bot.

1. Create the provider​

  1. In the sidebar's Global section, open Provider Management
  2. Click Create to open the Create a new provider dialog
  3. Under Provider Selection, set Provider type to Text-to-Speech
  4. Choose a Provider (Google Text-to-Speech, Azure Speech Services TTS, ElevenLabs, or botario)
  5. Fill in General Settings (Title, API Key, and — depending on the provider — URL / Voice) and any Provider Options
  6. Click Create

Create TTS Provider

Enable it for your bot​

  1. Open your bot's Settings > Enabled Providers page
  2. In the Text-to-Speech section, click Enable another text-to-speech provider
  3. Select your provider from the picker

Only providers that are created in Provider Management and enabled for the bot appear in the phone channel's Text-to-Speech dropdown.

See Provider Management for the full create dialog and Enabled Providers for enabling and roles.

Available TTS Providers​

ProviderDescription
Google Text-to-SpeechHigh-quality voices with gender selection
Azure Speech Services TTSEnterprise TTS with extensive voice library and pitch control
ElevenLabsAI-powered voices with voice cloning and emotional control
botarioAI-powered Custom or self-hosted voices

Phone Channel TTS Settings​

After creating a provider, configure it in the Phone Channel:

Selecting a Provider​

In the Text-to-Speech tab, select your TTS provider from the dropdown. Only providers that are:

  1. Created in Provider Management with type "Text-to-Speech"
  2. Enabled for this bot in Settings > Enabled Providers

will appear in the list.


Provider-Specific Configuration​

Different providers offer different configuration options. The phone channel allows you to override provider defaults on a per-bot basis.

botario TTS​

botario TTS Configuration

SettingDescription
Voice OverrideOverride the default voice
Language OverrideOverride the default language code
Speaking Rate Override(coming soon) Speech speed (0.25 to 4.0, where 1.0 is normal)
Pitch Override(coming soon) Voice pitch adjustment (-20.0 to 20.0, where 0.0 is normal)

Google Text-to-Speech​

Google TTS Configuration

SettingDescription
Voice OverrideOverride the default voice (e.g., de-DE-Chirp3-HD-Puck)
Gender OverrideVoice gender: MALE, FEMALE, or NEUTRAL
Language OverrideOverride the default language code
Speaking Rate OverrideSpeech speed (0.25 to 2.0, where 1.0 is normal)

Note: Google TTS speaking rate range is 0.25-2.0, more limited than other providers.

Azure Speech Services TTS​

Azure TTS Configuration

SettingDescription
Voice OverrideOverride the default voice (e.g., de-DE-KatjaNeural)
Language OverrideOverride the default language code
Speaking Rate OverrideSpeech speed (0.25 to 4.0, where 1.0 is normal)
Pitch OverrideVoice pitch adjustment (-20.0 to 20.0, where 0.0 is normal)
Region OverrideAzure region for TTS service

ElevenLabs​

ElevenLabs TTS Configuration

SettingDescription
Voice OverrideOverride the default voice ID
Speaking Rate OverrideSpeech speed (0.7 to 1.2, where 1.0 is normal)
Pitch OverrideVoice pitch adjustment (-20.0 to 20.0)
Similarity Boost OverrideVoice consistency (0.0 to 1.0) - higher values sound more like the original voice
Stability OverrideVoice stability (0.0 to 1.0) - higher values are more consistent, lower values more expressive
Model OverrideElevenLabs model (e.g., eleven_turbo_v2_5)

ElevenLabs Settings Explained​

Similarity Boost (0.0 - 1.0):

  • Higher values make the voice sound more like the original voice sample
  • Lower values allow more variation
  • Default: 0.7

Stability (0.0 - 1.0):

  • Higher values produce more consistent, predictable speech
  • Lower values produce more expressive, dynamic speech
  • Default: 0.7
  • For professional/formal contexts, use higher stability (0.7-0.9)
  • For casual/emotional contexts, use lower stability (0.3-0.6)

Speaking Rate Ranges​

Different providers have different speaking rate ranges:

ProviderMinMaxNormal
Google TTS0.252.01.0
Azure TTS0.254.01.0
ElevenLabs0.71.21.0
botario0.254.01.0

Tip: For elderly callers or complex information, reduce speaking rate to 0.8-0.9. For quick confirmations, you can increase to 1.1-1.2.


Effective Values​

Each setting shows two values:

  • Current value: What you've configured (or empty for provider default)
  • Effective value: The actual value being used (your override or provider default)

The "Effective value" with "(provider default)" indicates the setting is using the provider's default configuration.


Dynamic TTS Configuration​

You can change TTS settings during a conversation using the tracker API:

from botario_gpt_events.api_config.tts_api_config import GoogleTTSConfigUpdatePayload

# Slow down for important information
tracker_api.update_tts_config(
GoogleTTSConfigUpdatePayload(
speaking_rate=0.85,
gender="FEMALE"
)
)

See Phone API Reference for complete documentation.


Optimizing Voice Output​

Text Normalization​

For best TTS results, enable Text Normalization to ensure:

  • Dates are spoken naturally ("January 15th" not "one five dot zero one")
  • Phone numbers are spelled digit by digit
  • Abbreviations are expanded or spelled appropriately
  • Currency amounts are pronounced correctly

Voice Selection​

When selecting voices:

  • Neural voices (Azure, Google, botario) sound more natural
  • Consider your audience's language and regional preferences
  • Test different voices for brand fit

Performance Considerations​

  • ElevenLabs offers high quality but may have higher latency
  • Azure and Google neural voices offer excellent quality with good performance
  • For high-volume applications, test latency with your expected load

Troubleshooting​

Speech Sounds Robotic​

  • Try a different voice (neural voices sound more natural)
  • Adjust stability settings (ElevenLabs)
  • Enable Text Normalization

Speech Too Fast/Slow​

  • Adjust Speaking Rate Override
  • Remember different providers have different ranges

Wrong Language/Accent​

  • Check Language Override setting
  • Verify the voice supports your target language
  • Some voices are multi-lingual, others are language-specific

Provider Sync Failed​

  • Check PhoneServer Providers for sync status
  • Verify API credentials are correct
  • Check provider URL and region settings