System.Speech.Synthesis.SpeechSynthesizer - 如何自定义语音?

时间:2010-06-15 11:56:16

标签: c# text-to-speech

SpeechSynthesizer允许使用不同的声音达到峰值 SelectVoiceByHints(VoiceGender, VoiceAge)功能(据我所知)。但如果我改变性别和语音年龄,就不会进行定制。

你能解释一下原因吗?如果我做错了什么,那么这样做的正确方法是什么?

谢谢。

2 个答案:

答案 0 :(得分:13)

这是一个小型测试程序,可用于发现安装的声音:

using System;
using System.Speech.Synthesis;  // Add reference to System.Speech

class Program {
    static void Main(string[] args) {
        var synth = new SpeechSynthesizer();
        foreach (var voice in synth.GetInstalledVoices()) {
            Console.WriteLine(voice.VoiceInfo.Description);
        }
        Console.ReadLine();
    }
}

我机器上的输出:Microsoft Anna - 英语(美国)

Windows afaik附带的唯一默认语音。这当然可以解释为什么改变性别和年龄对您的机器没有影响。

答案 1 :(得分:2)

根据功能的名称,我会说这是安装声音的选择器。它不会以任何方式自定义语音,而是根据您指定的参数从回购中选择一个。

因此,如果只安装了一个语音,他只能选择那个。