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-sidChoose a voice
In tts, set either a voice or a language:
voice: an exact voice name, such asen-US-Andrew:DragonHDLatest.language: a locale, such asfr-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:DragonHDLatestThe 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
:DragonHDLatestor:DragonHDOmniLatest. - Microsoft MAI: names end in
:MAI-Voice-2.
| Locale | Standard | DragonHD | MAI |
|---|---|---|---|
| da-DK | Christel, Jeppe | ||
| de-AT | Ingrid, Jonas | ||
| de-CH | Jan, Leni | ||
| de-DE | Seraphina, Florian | Klaus, Mia | |
| el-GR | Athina, Nestoras | ||
| en-CA | Clara, Liam | ||
| en-GB | Ada, Ollie, Ryan, Sonia | ||
| en-US | Ava, Andrew, Adam, Alloy, Caleb (Omni), Dana (Omni) | Ethan, Harper, Olivia | |
| es-ES | Ximena, Tristan | Marta | |
| fr-BE | Charline, Gerard | ||
| fr-CA | Sylvie, Jean, Antoine, Thierry | ||
| fr-CH | Ariane, Fabrice | ||
| fr-FR | Vivienne, Remy | Marc, Soleil | |
| it-IT | Isabella, Alessio | Luca, Rosa | |
| nl-NL | Fenna, Colette, Maarten | Fleur, Sander | |
| sv-SE | Sofie, 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: westeuropeUse 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_5Good to know
engine: defaultuses Callr's own synthesis; it is what you get whentextToSpeechis not set.- The engine applies to the whole scenario: set
textToSpeechonce, in the top-leveldefaults. 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 withelevenlabs. - 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
Updated about 2 hours ago
