IBM Watson TTS

The watson_tts text-to-speech integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 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.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] file. 在更改了configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件后,重启 Home Assistant 以应用更改。 该集成现在显示在集成页面的 设置 > 设备与服务 下。其实体在集成卡片上以及实体标签上列出。

# 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:

https://api.us-south.text-to-speech.watson.cloud.ibm.com

watson_apikey string Required

Your secret apikey generated on the IBM Cloud admin console.

voice string (Optional, default: en-US_AllisonV3Voice)

Voice name to be used.

output_format string (Optional, default: audio/mp3)

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

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