Google Translate text-to-speech
The google_translate
text-to-speech platform uses the unofficial Google Translate text-to-speech engine to read a text with natural sounding voices. Contrary to what the name suggests, the integration only does text-to-speech and does not translate messages sent to it.
Configuration
To add the Google Translate text-to-speech integration to your Home Assistant instance, use this My button:
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the Add Integration button.
-
From the list, select Google Translate text-to-speech.
-
Follow the instructions on screen to complete the setup.
Check the complete list of supported languages (languages where “Talk” feature is enabled in Google Translate) for allowed values. Use the 2-digit language code which you can find at the end of the URL when you click on the language name.
Check the complete list of supported tld for allowed TLD values. This is used to force the dialect used when multiple fall into the same 2-digit language code(i.e., US, UK, AU)
You can also use supported BCP 47 tags like the below or the 2-2 digit format for your supported dialect(en-gb
or en-us
). Below is a list of the currently implemented mappings:
Dialect | Language | TLD |
---|---|---|
en-us | en | com |
en-gb | en | co.uk |
en-uk | en | co.uk |
en-au | en | com.au |
en-ca | en | ca |
en-in | en | co.in |
en-ie | en | ie |
en-za | en | co.za |
fr-ca | fr | ca |
fr-fr | fr | fr |
pt-br | pt | com.br |
pt-pt | pt | pt |
es-es | es | es |
es-us | es | com |
Service say
The google_translate_say
service can be used when configuring the legacy google_translate
text-to-speech platform in configuration.yaml
. We recommend new users to instead set up the integration in the UI and use the tts.speak
service with the corresponding Google Translate text-to-speech entity as target.
The google_translate_say
service supports language
and also options
for setting tld
. The text for speech is set with message
. Since release 0.92, the service name can be defined in the configuration service_name
option.
Say to all media_player
device entities:
# Replace google_translate_say with <platform>_say when you use a different platform.
service: tts.google_translate_say
data:
entity_id: all
message: "May the force be with you."
Say to the media_player.floor
device entity:
service: tts.google_translate_say
data:
entity_id: media_player.floor
message: "May the force be with you."
Say to the media_player.floor
device entity in French:
service: tts.google_translate_say
data:
entity_id: media_player.floor
message: "Que la force soit avec toi."
language: "fr"
Say to the media_player.floor
device entity in UK English:
service: tts.google_translate_say
data:
entity_id: media_player.floor
message: "May the force be with you."
language: "en-uk"
service: tts.google_translate_say
data:
entity_id: media_player.floor
message: "May the force be with you."
language: "en"
options:
tld: co.uk
With a template:
service: tts.google_translate_say
data:
message: "Temperature is {{states('sensor.temperature')}}."
cache: false
For more information about using text-to-speech with Home Assistant and more details on all the options it provides, see the TTS documentation.