如何在C#中改变语音合成器的性别和年龄?

Pab*_*lez 20 c# synthesizer speech

我想改变System.Speechc#中声音的性别和年龄.例如,一个10年的女孩却找不到任何简单的例子来帮助我调整参数.

Gro*_*roo 21

首先,通过枚举类的GetInstalledVoices方法来检查已安装的语音SpeechSynthesizer,然后使用SelectVoiceByHints以选择其中一个:

using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{
    // show installed voices
    foreach (var v in synthesizer.GetInstalledVoices().Select(v => v.VoiceInfo))
    {
        Console.WriteLine("Name:{0}, Gender:{1}, Age:{2}",
          v.Description, v.Gender, v.Age);
    }

    // select male senior (if it exists)
    synthesizer.SelectVoiceByHints(VoiceGender.Male, VoiceAge.Senior);

    // select audio device
    synthesizer.SetOutputToDefaultAudioDevice();

    // build and speak a prompt
    PromptBuilder builder = new PromptBuilder();
    builder.AppendText("Found this on Stack Overflow.");
    synthesizer.Speak(builder);
}
Run Code Online (Sandbox Code Playgroud)


小智 11

http://msdn.microsoft.com/en-us/library/system.speech.synthesis.voiceage.aspx http://msdn.microsoft.com/en-us/library/system.speech.synthesis.voicegender.aspx

你看看这个吗?

  • 为什么[StackOverFlow](http:// http://stackoverflow.com)没有** LIKE **按钮?:) (2认同)