On a related topic, does anyone know a way (using C functions from some library) to get audio output from a computer? What I'd like to find would be a function like SpeakText(char *my_text) where you send it a text string that gets read out audibly. But it mustn't block the operation of the computer while the output occurs, and if a second (or more) string gets sent while the first one is being spoken, the later ones would be queued and spoken out in turn. Or perhaps there could be a flag for "Cancel outgoing text" if you wanted to flush the queue of phrases waiting to be spoken. I looked for a way to do this and never found anything exactly right.