Can you do simple text to speech with a Raspberry Pi? And can you do it for free?
Yes!

Using the pyttsx package for Python, you can simulate speech easily and for free.

The package uses an engine called espeak, which you’ll have to download with:

sudo apt-get install espeak

Many applications are installable through the Raspbian archives, that are made so easily accessible with apt-get on the Pi, but for Python packages, the best place to look is the Python Package Index (PyPI). All of their packages are free and can easily be downloaded by using the PIP tool.

To get the PIP tool type into your terminal:

sudo apt-get install python-pip

Or:

sudo apt-get install python3-pip

…if Python 3 is more your thing.

Now that you have all you need to install the package, go ahead and do it using the line:

sudo pip install pyttsx

I typically use sudo here because I’ve found that occasionally the Raspberry Pi will through me a permission error, and sudo gets rid of it. PIP is a safe tool, so don’t sweat over using the superuser.

After a long list of text and progress bars scrolling up your screen, you’ll finally have it installed! Now all you need is to be able to use it…

import pyttsx

engine = pyttsx.init() # espeak is automatically chosen as it is on linux
engine.setProperty('rate', 70) # Setting the speech rate (words/minute)

engine.say('Hello world')
engine.runAndWait()

Problems I encountered
If you’re struggling to hear any sound at all, then force your audio through which ever output you want using one of:

amixer cset numid=3 0 # Set to use auto
amixer cset numid=3 1 # Set to use 3.5mm audio jack
amixer cset numid=3 2 # Set to use HDMI as audio output

With my Raspberry Pi 2, I can across an error with the ALSA library. I couldn’t quite work out what caused it, but make it seemed temporary, so try again.

If you’re still getting any errors/problems with audio, then check you have alsa-utils installed by trying:

sudo apt-get install alsa-utils

And try this line to load the sound drivers:

sudo modprobe snd_bcm2835

Hopefully that will get your audio working to a usable state. The Raspberry Pi website has some simple information on audio configuration if you need more help with setting up sound.

Conclusion
The pyttsx package seems really robotic, so maybe it’s not the library to go for. It can be problematic installing it but it will give you a working product (when you have WiFi), for free, which is better than nothing.

For a more professional sound, I may try to use a different system in the future.

Further information
The pyttsx package does have simple documentation that you can look at here.
If you decide to change to a different system of text to speech, then eLinux has a list of options for the Raspberry Pi.