您知道关于名称空间System.Speech.Synthesis.TtsEngine的任何(简单)示例吗?
我想使用TTS引擎,它可以让我控制输出语音的音高、速率和音量。看起来上面提到的名称空间允许我这样做,但我找不到一个示例。我还没有完全理解,为了做我想做的事情,我是否必须重写将文本转换为语音的整个代码(可能非常庞大和复杂),或者如果我只是“挂钩”这个过程并修改一些变量。
对我来说,一个或多或少可行的选择是MBROLA,因为我可以很容易地控制每个音素的音长和音高。问题是MBROLA是一个音素到语音的引擎,因此在MBROLA上使用它之前,我必须将文本转换为音素(这可能很难!)例如:"I read“和”I‘’ve read“是"read”和“read”的不同音素。
如有任何建议,我们将不胜感激!
谢谢!
发布于 2010-05-31 00:30:37
我想知道,既然System.Speech.SpeechSynthesizer已经公开了你所描述的所有功能,而且更容易使用,为什么你还需要去这么低的层次(System.Speech.Synthesis.TtsEngine是为那些正在编写自己的TTS引擎的人设计的)。
System.Speech.SpeechSynthesizer具有properties来控制速率、音调和音量。此外,SpeakSsml方法允许您将SSML markup嵌入到口语文本中,以控制速率、音调和音量,而不必处理语音事件。
https://stackoverflow.com/questions/2509795
复制相似问题