Watson TTS


The watson_tts text-to-speech platform that works with IBM Watson Cloud to create the spoken output. Watson is a paid service via IBM Cloud but there is a decent free tier which offers 10000 free characters every month.

Setup

For supported formats and voices please go to IBM Cloud About section.

To get started please read the Getting started tutorial.

Configuration

To configure Watson TTS, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
tts:
  - platform: watson_tts
    watson_apikey: YOUR_GENERATED_APIKEY

You can get these tokens after you generated the credentials on the IBM Cloud console:

Configuration Variables

watson_url

(string)(Optional)

The endpoint to which the service will connect.

Default value:

https://stream.watsonplatform.net/text-to-speech/api

watson_apikey

(string)(Required)

Your secret apikey generated on the IBM Cloud admin console.

voice

(string)(Optional)

Voice name to be used.

Default value:

en-US_AllisonVoice

output_format

(string)(Optional)

Override the default output format. Supported formats: audio/flac, audio/mp3, audio/mpeg, audio/ogg, audio/ogg;codecs=opus, audio/ogg;codecs=vorbis, audio/wav

Default value:

audio/mp3

Usage

Say to all media_player device entities:

- service: tts.watson_tts_say
  data_template:
    message: 'Hello from Watson'

or

- service: tts.watson_tts_say
  data_template:
    message: >
      <speak>
          Hello from Watson
      </speak>

Say to the media_player.living_room device entity:

- service: tts.watson_tts_say
  data_template:
    entity_id: media_player.living_room
    message: >
      <speak>
          Hello from Watson
      </speak>

Say with break:

- service: tts.watson_tts_say
  data_template:
    message: >
      <speak>
          Hello from
          <break time=".9s" />
          Watson
      </speak>