It really depends on your use case. If you want something that sounds pretty okay, and is decently fast, Piper fits the bill. However, this is just a command line TTS system; you'll need to build all the supporting infrastructure if you want it to read audiobooks. https://github.com/rhasspy/piper
If you want something that can run in realtime, though sounds somewhat robotic, you want dectalk. This repo comes with libraries and dlls, as well as several sample applications. Note, however, that the licensing status of this code is...uh...dubious to say the least. Dectalk was abandonware for years, and the developer leaked the sourcecode on a mailing list in the 2000's. However, ownership of the code was recently re-established, and Dectalk is now a commercial product once again. But the new owners haven't come after the repo yet: https://github.com/dectalk/dectalk
If you want a fully fledged software application to read things to you, but don't need a screen reader and don't want to build scripts yourself, you want bookworm: https://github.com/blindpandas/bookworm
Note, however, that you should build bookworm from source. While the author accepts pull requests, because of his circumstances, he's no longer able to build new releases: https://github.com/blindpandas/bookworm/discussions/224
I've dabbled in a couple recently, xTTS v2 in Coqui sounds pretty good and is pretty quick. Especially if you use one of the built in voices. Has a weird "only for non commercial use" licence if that bothers you.
Searching for text to speech led me to this post, I am also looking for something I can share webpages to for reading. I listen to podcasts constantly and this just seems like the next logical step for news I want to read.
I've been wondering if folks have a good way to do this for web pages. There are so many things I'd like to read but I have to pass on for time management's sake.
NaturalReaders did alright, but I wanted something that worked in Firefox, and as good as NaturalReaders was, I found the pauses super jarring at times. Like, it would do a long pause for no punctuation and then a short pause for a period at times ... just confused me so much.