代码之家  ›  专栏  ›  技术社区  ›  Bruno Reis

system.speech.synthesis.ttsengine上的示例?

  •  1
  • Bruno Reis  · 技术社区  · 15 年前

    您知道名称空间system.speech.synthesis.ttsengine上的任何(简单)示例吗?

    我想使用一个TTS引擎,它允许我控制音调、速率和输出声音的音量。看起来上面提到的名称空间允许我这样做,但是我找不到一个示例。我还没有完全理解,如果为了做我想做的,我必须重写(可能是巨大而复杂的)将文本转换为语音的整个代码,或者如果我只是“钩住”这个过程并修改一些变量。

    对我来说,一个或多或少可行的选择是mbrola,因为我可以很容易地控制每个音素的持续时间和音高。问题是mbrola是一个音素到语音的引擎,因此在mbrola上使用它之前,我必须将文本转换成音素(这可能很难!例如,“我读过”和“我读过”,不同的音素表示“读”和“读”!).

    任何建议都将非常感谢!

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  2
  •   Eric Brown    14 年前

    我想知道,当System.Speech.SpeechSynthesizer已经公开了您所描述的所有功能,并且更易于使用时,为什么您需要转到这么低的级别(System.Speech.Synthesis.ttsEngine是为编写自己的TTS引擎的人准备的)。

    System.Speech.SpeechSynthesizer具有 properties 控制速率、音高和音量。此外, SpeakSsml 方法允许您嵌入 SSML markup 在不需要处理语音事件的情况下控制语音的速率、音调和音量。

    推荐文章