Getting decent sounding (not Robot) TTS on Linux without using the cloud has always been a challenge. However, I may be on to something.
Some references I found useful.

I'm running a VM with Ubuntu 20.04 on it. Briefly I did this:
sudo apt-get update
sudo apt-get install python3-pip
pip3 install TTS
sudo apt-get install espeak
python3 -m TTS.server.server

There should now be a webpage available at localhost:5002 that you can test with. I would think you can send text from either homeseer or node-red since it is a server running locally. Previously if I would send TTS from homeseer it would never release the audio driver for node red to use. There is a delay between clicking speak and hearing the output of a few seconds that I assume gets longer the less processing power your server has.

Anyways, here is a link to what the voice sounds like and I can confirm that this is what it sounds like on my system.

I could use some help in figuring out the best way to interface this with Homeseer/Node-red though. Maybe through simple http statements?