[TTS] Instead of google_translate, provide local Text-To-Speech engine as the default

Currently the default TTS engine is google_translate. Some network issues have made me realise that it is very odd to have an external service as default for new users

Home Assistant’s motto is “Open source home automation that puts local control and privacy first”. Google translate is an external service with an unsupported API. While it made sense to use google_translate initially for its simplicity, I believe we are now ready to update this :smiley:

Last year Pico TTS was incorporated into the docker images, so users don’t need to install it manually anymore. picotts is open source and works locally and instantaneously, even when offline. Includes English, Spanish, German, French and Italian.

Local TTS is of course a compromise, but a crucial feature in a platform that puts local control and privacy first. In the future we may also have Mozzilla TTS (vote!) - however Pico is unbeatably lightweight and robust, and is already preinstalled in Home Assistant. Swapping google_translate for picotts would allow new users to be untied from the only remaining external dependency (Google translate) and allow full offline use of HASS right out of the box.

Here is a PicoTTS voice demo: https://sndup.net/5vbw/d (audio)

tts:
  - platform: picotts
    language: 'en-GB'

I tried Pico TTS. It was awful. :robot:

2 Likes

As I see it, arriving users should have a simple local TTS option to get them started. Otherwise we are currently promoting installations that depend on external services out of the box.

I’m looking forward to the integration of Mozilla TTS (do vote!). However, it will be much heavier and I doubt we want to ship it preinstalled.
Pico is quite basic, but you have to consider it takes up only 11MB :slight_smile:

2 Likes

I’d rather have no default than have picotts. :grimacing:

3 Likes

How to set speed of picotts ?

Kindly guide.