Current picotts component require the native library to be installed on the underlying operating system. For those who uses hass.io or docker image, this is not a very convenient proposition and ask user to deal with libaries at the OS level defeat the purpose of having hass.io and/or docker image.
Since picotts is a mature and small library (~100kb on x64 platform) and library has been ported to x86/64 and ARM architectures. Integrating this library should be relatively straight forward, and it will make text-to-speech function as part of built-in home-assistant feature independent of any cloud-based services.
Since picotts is rather mature, both alpine and debian-based OS distribution has existing packages. All one need to do is add one line to the docker file (for alpine-based distribution):
RUN apk add picotts --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing
Yes, please! Can’t be too complicated. The unavailability of a “cloud-free” TTS service like PicoTTS has actually been the main reason for me and several of my friends to go for Home Assistant Core (and not hass.io).
The way I do things like this is I have webhook installed on any OS where I want to process the request then use rest to post a payload containing things such as the device and the words I want to be spoken. webhook then matches what I send to it in the payload to what I have configured in webhook.conf which then calls a shell script that then calls pico2wave. I use webhook for a couple dozen other things and it just always works.