Back in the dark days I used Festival speech synthesiser which is very poor by todays standards and later adopted the unofficial Google speech API for voice notifications which has a very good, clear voice. When that stopped working when Google started to redirect it to a captcha if you tried to access it directly I switched to Ivona which does have an official API for this kind of thing that allows you to make 50,000 requests per month.
My speech notifications originate from several sources but primarily they come from Node-RED which runs on my Debian server and this does not have an audio output connected into my whole house audio system. To get around this I run a small Python script on my always on Xubuntu desktop PC that performs a few functions by subscribing to various MQTT topics, one of which is generating speech. This script also provides a system for playing sounds, eg. send a payload of redalert.mp3 to the topic notify/sound to get a Star Trek TNG red alert sound.
I wrote a blog post about how you can use Ivona with the Python Pyvona package.