Poeta ex Machina (https://poetaexmachina.net/) works online but the audio can be downloaded. It uses classical pronunciation. Apart from no "h" and incorrect "y", it does not differentiate "ph" from "p", etc. It cannot read macronised text but does its own macronisation. Ambiguous vowel quantity is resolved with metre and is not accurate for prose. Users cannot modify the speech synthesis. It reads the above text as:
eSpeak (http://espeak.sourceforge.net/) is a TTS programme. The programme and its engines require installation. The engines are compatible with most other TTS programmes requiring installation. There is no problem saving the audio or modifying the speech synthesis. Its Latin engine reads macronised text with correct classical pronunciation (and there is no Ancient Greek engine other than that of eSpeak). However, the sound is too robotic.
Google Translate (https://translate.google.com/) works online and the audio cannot be downloaded. Its Latin engine reads text, macronised or not, with defective Italianate pronunciation and no differentiation between long and short vowels.
meSpeak.js (https://www.masswerk.at/mespeak/) is an online port of eSpeak and the audio cannot be downloaded. It cannot read macronised text and users cannot modify the speech synthesis.
ResponsiveVoice (https://responsivevoice.org/text-to-speech-languages/unde-orationem-text-in-latin/) and TextToSpeech.io (https://texttospeech.io/) work online. The audio cannot be downloaded and users cannot modify the speech synthesis. Actually, their Latin Male engines are ports of the eSpeak Latin engine and require macronised text for correct pronunciation while their Latin Female engines are the same as the Google Translate Latin engine (a male voice!) and read text, macronised or not, without differentiation between long and short vowels.
Non-Latin engines (with converted text)
Among all Microsoft and compatible non-Latin engines, Microsoft Cantonese engines are the only ones having the required sounds (Microsoft Chinese engines can read English apart from Cantonese, Mandarin or Putonghua while all other Microsoft engines are monolingual) and can read Latin text, macronised and converted, (and possibly converted Ancient Greek text,) with correct classical pronunciation (the differentiation of "ph" from "p", etc is strictly speaking not correct) while most of the Italian engines can read Latin text, macronised and differently converted, with correct Italianate pronunciation as well as differentiation between long and short vowels. There is no problem saving the audio or modifying the speech synthesis. A Word file with macros is used for text conversion. The file together with notes on how to use it will be uploaded later