I am creating a small silverlight widget which pronounces a word and highlights each syllable as it is pronounced.
As part of this, I am using the SpeechSynthesizer.PhonemeReached event to determine the start and end times of each phoneme (as a step in figuring out the start and end times of each syllable).
The weird thing is that the PhonemeReachedEventArgs.Phoneme property is sometimes a control character, at least (but possibly not exclusively) U+0004 END OF TRANSMISSION, including places which are not, umm, the end of the transmission (like, say, the beginning).
I can't find any documentation of what this is supposed to mean, does anyone know?
EDIT: To clarify, I'm not doing the speech synthesis in Silverlight (since that isn't supported), I am doing it on the server and returning the syllable boundary times and IPA transcription of the word in an HTTP header of the audio response. I probably shouldn't have mentioned the silverlight part at all, since it isn't really relevant, I just didn't really think much about explaining the context. Ooops. :)