I want to use an event handler to stop speaking:
The only way I can stop this is by restarting mathematica!
Using this with a text that is split into a list of shorter strings allows you to interrupt the audio at well-defined points, phrase breaks, say. Here is one way to do it:
You can now interrupt the computer in the usual way (Command. on Mac, Alt. on PC):
Now, of course, you do not get asynchronous speaking, so subsequent evaluations have to wait for the last phrase to be queued to execute.
Note This solution was tested on version 8.04, and is reported not to work on version 7.