Есть хорошая программа с открытым исходным кодом, которая делает то, что вы просите в Windows, под названием Peter's Text to Speech, доступная здесь: http://jampal.sourceforge.net/ptts.html
Он содержит двоичный файл ptts.exe, который будет произносить текст со стандартного ввода, поэтому вы можете запустить его следующим образом:
echo hello there | ptts.exe
В качестве альтернативы вы можете использовать следующий трехстрочный VBS-скрипт для получения аналогичного базового TTS:
'say.vbs
set s = CreateObject("SAPI.SpVoice")
s.Speak Wscript.Arguments(0), 3
s.WaitUntilDone(1000)
И вы можете вызвать это из командной строки следующим образом:
cscript say.vbs "hello there"
Если вы пойдете по сценарию, вы, вероятно, захотите найти более подробные примеры кода с переменным временем ожидания и обработкой ошибок.
Надеюсь, это поможет.