.net SpeechSynthezier.PhonemeReached事件和控件字符

.net SpeechSynthezier.PhonemeReached事件和控件字符,.net,speechsynthesizer,speech-synthesis,.net,Speechsynthesizer,Speech Synthesis,我正在创建一个小的silverlight小部件,它可以发出一个单词的发音,并在发音时突出显示每个音节 作为这项工作的一部分,我使用来确定每个音素的开始和结束时间(作为计算每个音节的开始和结束时间的一个步骤) 奇怪的是,有时是一个控制字符,至少(但可能不是唯一的),包括不是,嗯,传输结束(比如,开始)的地方 我找不到任何关于这意味着什么的文件,有人知道吗 编辑:澄清一下,我不是在Silverlight中进行语音合成(因为它不受支持),而是在服务器上进行语音合成,并在音频响应的HTTP头中返回单词的

我正在创建一个小的silverlight小部件,它可以发出一个单词的发音,并在发音时突出显示每个音节

作为这项工作的一部分,我使用来确定每个音素的开始和结束时间(作为计算每个音节的开始和结束时间的一个步骤)

奇怪的是,有时是一个控制字符,至少(但可能不是唯一的),包括不是,嗯,传输结束(比如,开始)的地方

我找不到任何关于这意味着什么的文件,有人知道吗


编辑:澄清一下,我不是在Silverlight中进行语音合成(因为它不受支持),而是在服务器上进行语音合成,并在音频响应的HTTP头中返回单词的音节边界时间和IPA转录。我可能根本就不应该提到silverlight部分,因为它不是真正相关的,我只是没有真正考虑解释上下文。哎呀!)

如果你想找出每个音素的开始和结束时间(这真的是一个不同的问题)。。。尝试使用PhonemeReachedEventArgs.Duration属性。开始时间将是“短语的开始时间”+所有先前发音音素的累计持续时间。结束时间将是“当前音素的开始时间”+当前音素的持续时间


至于回答你“张贴”的问题,我假设你正在使用英语作为你的合成语言。在这种情况下,您看到的“字符”很可能实际上是数据库的索引值。但是,您也可能会看到unicode表示法,它们都超出了“控制字符”范围。

既然Silverlight不是Silverlight库,您如何在Silverlight中使用该库?我不认为这些字符是该表的索引,因为它们与“SYM”列中的值不匹配,有些是Unicode IPA扩展字符,如U+0254和U+026a。不过,谢谢,我不知道这组文档。我想我现在明白你的意思了,它们是表中的索引。我看错了。