I whipped this up fairly quickly (I was running around trying to find out how not to make it hang, then discovered the function could be made asynchronous anyway
).
You can make the script speak the person's name simply by changing the bSpkName var to true; however, this will always be true in the event of a group conversation.
EDIT: The script also just uses the default voice for speech; if you google for SAPI.SpVoice you should find what you need to change it to a different one on MSDN.