I often use my iPhone as music player, travelling around the city with my headphones and answering calls by clicking the microphone. I was looking for a way to announce Caller ID, and was surprised there's only this hint here and it doesn't use built in speech technology.
This process could be scripted somehow, but as I didn't need hundreds of contacts, I just created them one by one. The described process is, however, optimized, taking only about 20 seconds per person.
First, open GarageBand and create a loop of desired length. I chose just about six bars. Then place your favorite ringtone sound (I used one from GarageBand's Library, found in Sound Effects » Work/Home » Cell Phone Ringing, and boosted its volume a bit) and place it at the second bar.
Copy the person's name in Address Book.
Paste it to Terminal as part of this command: say -o ~/Desktop/Output.aiff [p...