Amazon Polly
Amazon Web Services' Polly TTS engine includes several models to accommodate different use cases. SignalWire supports the Standard and Neural models:
- Standard
is a traditional, cost-effective, and reliable TTS model.
It is less natural-sounding but more budget-friendly than Polly Neural. Example voice identifier string:
polly.Emma
- Neural
is an advanced model designed to produce speech that is more natural and closer to human-like pronunciation and intonation. Example voice identifier string:
polly.Emma-Neural
Languages​
Most Amazon Polly voices support a single language. Select a language by choosing from the list of supported voices.
All Amazon Polly voices support accented bilingual pronunciation
through the use of the SSML lang
tag.
Amazon Polly also offers some fully bilingual voices designed to fluently speak two languages.
Voice IDs​
Polly voices are identified by the voice name (like Amy
, Matthew
, Mia
, Zhiyu
, etc ) only,
except when the voice exists in multiple models.
In that case, append a code after a dash -
to specify variations of the model, like neural
.
If no model code is specified, the Standard model will be used.
Example string | Model used |
---|---|
polly.Amy | Standard |
polly.Amy-Neural | Neural |
Examples​
See how to use Amazon Polly voices on the SignalWire platform.
- SWML
- RELAY Realtime SDK
- Call Flow Builder
- cXML
Use the
languages
SWML method to set one or more voices for an AI agent.
version: 1.0.0
sections:
main:
- ai:
prompt:
text: Have an open-ended conversation about flowers.
languages:
- name: English
code: en-US
voice: polly.Ruth-Neural
Alternatively, use the say_voice
parameter
of the play
SWML method to select a voice for basic TTS.
version: 1.0.0
sections:
main:
- set:
say_voice: "polly.Ruth-Neural"
- play: "say:Greetings. This is the Ruth voice from Amazon Polly's Neural text-to-speech model."
// This example uses the Node.js SDK for SignalWire's RELAY Realtime API.
const playback = await call.playTTS({
text: "Greetings. This is the Ruth voice from Amazon Polly's Neural text-to-speech model.",
voice: "polly.Ruth-Neural",
});
await playback.ended();

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="polly.Ruth-Neural">
Greetings. This is the Ruth voice from Amazon Polly's Neural text-to-speech model.
</Say>
</Response>