Text-to-Speech (TTS)


Text-to-speech (TTS) enables Home Assistant to speak to you.

Cache

The component have two caches. Both caches can be controlled with the cache option in the platform configuration or the service call say. A long time cache will be located on the file system. The in-memory cache for fast responses to media players will be auto-cleaned after a short period.

Configuring a tts platform

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

# Example configuration.yaml entry for google tts service
tts:
  - platform: google

The following optional parameters can be used with any platform. However the TTS component will only look for global settings under the configuration of the first configured platform:

Parameter Default Description
cache True Allow TTS to cache voice file to local storage.
cache_dir tts Foldername or path to folder for caching files.
time_memory 300 Time to hold the voice data inside memory for fast play on media player. Minimum is 60 s and the maximum 57600 s (16 hours).

The extended example from above would look like the following sample:

# Example configuration.yaml entry for google tts service
tts:
  - platform: google
    cache: true
    cache_dir: /tmp/tts
    time_memory: 300

Service say

Say to all media_player device entities:

service: tts.platform_say
data:
  message: 'May the Force be with you.'
service: tts.platform_say
entity_id: media_player.floor
data:
  message: 'May the Force be with you.'

With a template:

service: tts.platform_say
data_template:
  message: 'Temperature is {{ sensor.temperature }}.'
  cache: false