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 (base_url) inside the http component.

Service say

The say service support language and on some platforms also options for set i.e. voice, motion, speed, etc. The text for speech is set with message.

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 {{states('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.