Balabolka is a seriously flexible and entirely free text-to-speech engine. While Balabolka’s not perfect, it’s very good, and in many cases is just as good, if not better, than similar paid apps.
The quality of the speech produced by Balabolka varies greatly, but you can have a major influence by picking the reading voice carefully and tweaking the settings so that you deal with pauses, speed and unusual words in the most efficient way. There are bunches more – the options that will interest you will surely depend on what you intend to use Balabolka for. It also has a timer, so you can set it to read before bedtime, for example, and can completely be controlled by hotkeys.
It’s really useful for file management, even allowing you to split and convert documents.