Play Store rating: 3.9/5 based on 2,147 ratings

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 github.com/kennydude/Speaker
From version Spkr 3.2:
Spkr is now advertising free and offline
All versions
January 8, 2019