I have been playing recently with an Emic–2 Text-to-Speech module. You can buy these from your favourite web store. My USB serial board was probably from AliExpress. Get one with the 3.3V/5V level selection switch for more versatility with different products you may wish to connect to. I use Windows 10 so I downloaded Termite, a simple free RS232 communications tool that enables me to send commands to the text-to-speech module via the USB UART board. Communication parameters are 9600,n,8,1. You need to power the Emic-2 module from a 5 Volt supply capable of half an Ampere because it idles at about 300 mA and peaks to about 500 mA when using a small speaker connected to the on-board amplifier..
The voice output lacks the quality of Siri, Alexa, Cortana or Google Assistant type products, but does a good job of converting text to speech on a self contained module with no computer assistance. Here is an English sample wav file.
I will connect it to my MQTT server via an Arduino Nano or Mini in a future project for making announcements when required from my smart-home project.