home-assistant.io/source/_integrations/watson_tts.markdown
2024-11-27 18:57:16 +01:00

3.0 KiB

title description ha_category ha_release ha_iot_class ha_codeowners ha_domain ha_platforms ha_integration_type related ha_quality_scale
IBM Watson TTS Instructions on how to setup IBM Watson TTS with Home Assistant.
Text-to-speech
0.94 Cloud Push
@rutkai
watson_tts
tts
integration
docs title
/docs/configuration/ Configuration file
legacy

The watson_tts text-to-speech {% term integration %} 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 {% term "configuration.yaml" %} file. {% include integrations/restart_ha_after_config_inclusion.md %}

# 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 %} watson_url: description: "The endpoint to which the service will connect." required: false type: string default: "https://api.us-south.text-to-speech.watson.cloud.ibm.com" watson_apikey: description: "Your secret apikey generated on the IBM Cloud admin console." required: true type: string voice: description: Voice name to be used. required: false type: string default: en-US_AllisonV3Voice output_format: description: "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" required: false type: string default: audio/mp3 {% endconfiguration %}

Usage

Say to all media_player device entities:

- action: tts.watson_tts_say
  data:
    message: "Hello from Watson"

or

- action: tts.watson_tts_say
  data:
    message: >
      <speak>
          Hello from Watson
      </speak>

Say to the media_player.living_room device entity:

- action: tts.watson_tts_say
  target:
    entity_id: media_player.living_room
  data:
    message: >
      <speak>
          Hello from Watson
      </speak>

Say with break:

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

Optionally, specify a voice for the message:

- action: tts.watson_tts_say
  data:
    message: "Hello from Watson"
  options:
    voice: en-US_EmilyV3Voice