I did some research on the topic in 2007 and tried several text to speech systems to read articles or convert them to mp3. I am surprised how little progress the consumer TTS products have made since then.
First I bought TextAloud by NextUp because in the web samples the voices sounded natural. However, it turned out that the way parts of the sentences were stressed made it really hard to understand scientific texts. I don't know if that has improved.
I then found the VoiceReader Home by Linguatec (49 Euro per voice) which did a very good job and I haven't found a better solution for myself since then. Linguatec just did an update which I have been using for a few weeks now and the quality improved even more.
However, I don't like their GUI and integration as much. I basically copy all texts that I want to read into the GUI window. Yet, the new version can also read pdf and word documents from file. And for me the most important factor is still the ease of listening and understanding of text even with a complex structure.
Linguatec looks like a small German company. I don’t know if they have their own TTS engine or use an external one.
I am not associated with Linguatec in any way and would be very interested in alternative suggestions!