You might look into this screen reader as well.
I haven't used it, but I have used festival.
Another interesting project is
Festival and Lynx can be made to work together....
# Written by Crouse @ bashscripts.org
# Visit specific url with lynx and have festival read it back.
# Works best with pages that are text only, without hyperlinks.
# NOTE: Could create menu system and use sed/awk/grep to clean up pages before reading
# and allow for the script to loop.
# Very basic bash script that combines the use of lynx and festival
# Sample url:
echo "Please enter a url to visit" > enterurlmsg.txt
festival --tts enterurlmsg.txt
read -p "Please enter a url to visit" urltovisit;
lynx -dump $urltovisit > urltemp.txt
festival --tts urltemp.txt
# Remove temp files
an interesting link for festival users... http://leb.net/pub/blinux/doc/blinux/my-tts-linux.txt