Unfortunately, it doesn't quite work right on all devices.
I got a tweet earlier today from one of the developers with FBReader, the open source reading app. He was pleased to announce that the latest update to FBReader for Android now offered text to speech as an optional extra. I can't get the extra feature to work, but the app is a lot better than when I last tried it.
I had given up on this version of FBReader last April because it simply wasn't very good. (It's been under constant development since then, so perhaps that was a hasty decision.) I'm going to have to reevaluate my opinion. The new app supports quite a few more features than before.
Most importantly, you can now load ebooks from any folder on your device (that's a pass/fail for me).
The app still supports Epub and FB2. It has all the formatting options it did before, plus it picked up a couple new ones. It now has enough font, layout, and margin options to satisfy the pickiest reader. It also now has dictionary lookup (the dictionary has to be installed first), and you can now copy a clipping to the clipboard or email it to someone. There's also bookmarks.
Most important shortcoming: The app doesn't support DRM. This will be a problem for some, but I don't mind.
Most interesting new feature: The latest update adds support for an API. This means we might see some outside developers release their own plug-ins which will add new features.
My fingers are crossed: I'm betting that my problem with the TTS is an isolated one. Let me know if you can get it to work.
Go get it: You can download it direct to your Android device from here: www.FBReader.org Scroll down and look for the files labeled FBReaderJ. You need the one ending in package. The rest are optional.
You can ebanle the TTS option in the app under Settings > More > Speak.