Amazon Polly


The amazon_polly text-to-speech platform that works with Amazon Polly to create the spoken output. Polly is a paid service via Amazon Web Services. There is a free tier for the first 12 months and then a charge per million characters afterwards.

Configuration

To get started, add the following lines to your configuration.yaml (example for Amazon Polly):

# 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

aws_access_key_id

(string)(Required)Your AWS Access Key ID. For more information, please read the AWS General Reference regarding Security Credentials. If provided, you must also provide an aws_secret_access_key and must not provide a profile_name.

aws_secret_access_key

(string)(Required)Your AWS Secret Access Key. For more information, please read the AWS General Reference regarding Security Credentials. If provided, you must also provide an aws_access_key_id and must not provide a profile_name.

profile_name

(string)(Optional)A credentials profile name. For more information, please see the boto3 Documentation for more information.

region_name

(string or list)(Optional)The region identifier to connect to. The default is us-east-1. See the AWS Regions and Endpoints Reference for available regions.

name

(string)(Optional)Setting the optional parameter name allows multiple notifiers to be created. The default value is notify. The notifier will bind to the service notify.NOTIFIER_NAME.

text_type

(string)(Optional)Specify wherever to use text (default) or ssml markup by default.

Default value: text

voice

(string)(Optional)Voice name to be used. See the Amazon Documentation for available voices.

output_format

(string)(Optional)Override the default output format, e.g., mp3, ogg_vorbis or pcm.

Default value: mp3

sample_rate

(string)(Optional)Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm.

Usage

Say to all media_player device entities:

- service: tts.amazon_polly_say
  data_template:
    message: '<speak>Hello from Amazon Polly</speak>'

or

- service: tts.amazon_polly_say
  data_template:
    message: >
      <speak>
          Hello from Amazon Polly
      </speak>

Say to the media_player.living_room device entity:

- service: tts.amazon_polly_say
  data_template:
    entity_id: media_player.living_room
    message: >
      <speak>
          Hello from Amazon Polly
      </speak>

Say with break:

- service: tts.amazon_polly_say
  data_template:
    message: >
      <speak>
          Hello from
          <break time=".9s" />
          Amazon Polly
      </speak>