Text-to-Speech (TTS)


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

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

If you are running Home Assistant over SSL or from within a container, you will have to setup a base url inside the http component.

Service say

Say to all media_player device entities:

# Replace google_say with <platform>_say when you use a different platform.
service: tts.google_say
data:
  message: 'May the Force be with you.'

Say to the media_player.floor device entity:

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

Say to the media_player.floor device entity in French:

service: tts.google_say
entity_id: media_player.floor
data:
  message: 'Que la force soit avec toi.'
  language: 'fr'

With a template:

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

Cache

The component has 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.