Voices & Audio

Pick a voice for your Callr Actions prompts, use the DragonHD and MAI natural voices, or bring your own Azure or ElevenLabs key.

Every Callr Actions prompt is either text read by a voice (tts) or an audio file from your library (audioFile). This guide covers how to pick a voice, the DragonHD and MAI natural voices, and how to use your own Azure or ElevenLabs account.

Text-to-speech or audio file

Actions that play audio (play@v3, say@v3, gather@v4, recognize@v3, amd@v3) take one of two parameters. Set one of them, never both.

# Text-to-speech
- action: play@v3
  params:
    tts:
      text: Welcome to Callr.
      voice: en-US-Ava:DragonHDLatest

# Audio file from your library
- action: play@v3
  params:
    audioFile:
      sid: your-audio-file-sid

Choose a voice

In tts, set either a voice or a language:

  • voice: an exact voice name, such as en-US-Andrew:DragonHDLatest.
  • language: a locale, such as fr-FR; a default voice for that language is used.

To avoid repeating it on every prompt, set it once in defaults, at the scenario level or on a branch. A branch-level value overrides the scenario-level one.

defaults:
  voice: en-US-Ava:DragonHDLatest

The editor suggests the voices Callr supports. Any other name (1 to 255 characters) is also accepted as a custom voice, so a typo is not caught when you save.

Natural voices: DragonHD and MAI

Two families of high-quality voices are available with the default engine, at the same price as standard voices:

  • Azure DragonHD: names end in :DragonHDLatest or :DragonHDOmniLatest.
  • Microsoft MAI: names end in :MAI-Voice-2.
LocaleStandardDragonHDMAI
da-DKChristel, Jeppe
de-ATIngrid, Jonas
de-CHJan, Leni
de-DESeraphina, FlorianKlaus, Mia
el-GRAthina, Nestoras
en-CAClara, Liam
en-GBAda, Ollie, Ryan, Sonia
en-USAva, Andrew, Adam, Alloy, Caleb (Omni), Dana (Omni)Ethan, Harper, Olivia
es-ESXimena, TristanMarta
fr-BECharline, Gerard
fr-CASylvie, Jean, Antoine, Thierry
fr-CHAriane, Fabrice
fr-FRVivienne, RemyMarc, Soleil
it-ITIsabella, AlessioLuca, Rosa
nl-NLFenna, Colette, MaartenFleur, Sander
sv-SESofie, Hillevi, Mattias

Build the full voice name from the locale and the name: fr-CA-Sylvie (standard), fr-FR-Remy:DragonHDLatest, en-US-Caleb:DragonHDOmniLatest (Omni), fr-FR-Marc:MAI-Voice-2.

Use your own Azure Speech key

Set engine: azure with the key and the region of your Azure Speech resource. Synthesis runs, and is billed, on your Azure account. Any Azure neural voice available in your region works, including voices not listed above.

defaults:
  voice: en-US-Ava:DragonHDLatest
  textToSpeech:
    engine: azure
    config:
      key: your-azure-speech-key
      region: westeurope

Use your own ElevenLabs account

Set engine: elevenlabs in defaults.textToSpeech, with your ElevenLabs API key and model. The voice is then an ElevenLabs voice ID from your ElevenLabs voice library.

defaults:
  voice: JBFqnCBsd6RMkjVDRZzb
  textToSpeech:
    engine: elevenlabs
    config:
      key: your-elevenlabs-api-key
      modelID: eleven_flash_v2_5

Good to know

  • engine: default uses Callr's own synthesis; it is what you get when textToSpeech is not set.
  • The engine applies to the whole scenario: set textToSpeech once, in the top-level defaults. Branch-level defaults cannot switch engines.
  • The voice must match the engine: an ElevenLabs voice ID does not work with azure, and an Azure voice name does not work with elevenlabs.
  • Your key is stored in the scenario, readable by anyone who can open it. Use a dedicated key with the narrowest permissions your provider allows, and rotate it if the scenario is shared.
  • Test a voice in Build Mode with the Live Debugger before you go live.

Next steps


Did this page help you?