Spkr announces caller id or contact name (if caller is in your contact list) for all calls and SMS messages.
Announcements scripts are customizable.
You can select to announce calls & SMS messages when only headphones plugged in.
You can also individually enable SMS and/or call announcements.
I am hoping to add individual contact based notifications in up-coming releases.
Spkr's is based on https://github.com/kennydude/Speaker