Amazon Polly
The amazon_polly
text-to-speech platform that works with Amazon Polly
Setup
For more information, please read the AWS General Reference regarding Security Credentials
Available voices are listed in the Amazon Documentation
Configuration
To get started, add the following lines to your configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file (example for Amazon Polly).
After changing the configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI. [Learn more] file, restart Home Assistant to apply the changes. The integration is now shown on the integrations page under Settings > Devices & services. Its entities are listed on the integration card itself and on the Entities tab.
# Example configuration.yaml entry
tts:
- platform: amazon_polly
aws_access_key_id: AWS_ACCESS_KEY_ID
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
Configuration Variables
Your AWS Access Key ID. If provided, you must also provide an aws_secret_access_key
and must not provide a profile_name
.
Your AWS Secret Access Key. If provided, you must also provide an aws_access_key_id
and must not provide a profile_name
.
A credentials profile name. If provided, you must not provide an aws_access_key_id
nor an aws_secrete_access_key
.
Whether to interpret messages as text
or as ssml
The Voice Name/ID
Override the default output format. Either mp3
, ogg_vorbis
or pcm
.
Override the default sample rate. Possible values are: 8000, 16000, 22050, 24000.
22050 for MP3 and Ogg Vorbis, 16000 for pcm
Override the default engine. Can be either of standard
neural
long-form
generative
Usage
Say to all media_player
device entities:
- action: tts.amazon_polly_say
data:
message: "<speak>Hello from Amazon Polly</speak>"
or
- action: tts.amazon_polly_say
data:
message: >
<speak>
Hello from Amazon Polly
</speak>
Say to the media_player.living_room
device entity:
- action: tts.amazon_polly_say
target:
entity_id: media_player.living_room
message: >
<speak>
Hello from Amazon Polly
</speak>
Say with break:
- action: tts.amazon_polly_say
data:
message: >
<speak>
Hello from
<break time=".9s" />
Amazon Polly
</speak>
Say with specific voice and engine as options:
- service: tts.amazon_polly_say
data:
message: "Hello from Amazon Polly"
entity_id: media_player.living_room
language: en-GB
options:
voice: Amy
engine: generative
Advanced usage
Amazon Polly supports accented bilingual voices and you may find that you’d prefer the voice you like be slowed down, or speeded up. If the speed of the voice is a concern, Amazon Polly provides the ability to modify this using SSML tags. First enable SSML in configuration:
- platform: amazon_polly
...
text_type: ssml
...
Note: You now need to enclose all new and previous TTS input within the <speak></speak>
tags. To use SSML in automation, you can follow these steps, for instance:
action: tts.amazon_polly_say
data:
cache: true
entity_id: media_player.mpd
message: >-
<speak> <prosody rate="75%">나는 <prosody rate="75%">천천히</prosody> <lang
xml:lang="fr-FR">parle</lang>.하고 있다식기세척!</speak>
language: ko-KR