picotts is a command line tool. marytts is a client/server tool.
(both included in botium speech processing and callable with curl).
high quality with google cloud speech and amazon polly.
picotts looks cool, but it's not maintained (maybe it's perfect already?). nanotts is a fork of picotts with improvements to its cli interface, but it's not very maintained either (I was not able to compile it, due to it expecting Alsa; somehow -noalsa switch didn't help). I also discovered gtts (and the simpler google_speech), both available through pip. They're interfaces to google's apis, and have routines for handling large texts properly.