在SpeechSynthesizer中更改语音

时间:2018-11-25 20:02:01

标签: c# text-to-speech speechsynthesizer

我试图更换扬声器,但是我没有将所有已安装的扬声器(乔治,苏珊,雅库布)列为SpeechSynthesizer类,另一方面,我有一个根本没有安装的扬声器(Zira)

enter image description here enter image description here

这是怎么回事?我可以以某种方式将特定的说话者添加到我的项目中(例如,.dll或诸如此类),而不依赖于计算机语言/区域吗?

1 个答案:

答案 0 :(得分:1)


更新

正如@Jimi所提到的,System.Speech和Microsoft.Speech是不同的,并且为了避免混淆,应该只选择其中之一。

对于System.Speech

  1. 转到设置/区域和语言/添加语言
  2. 从语言设置中,下载语音

例如 Helen 位于en_US软件包中。因此,应通过添加英语(美国)语言来下载其他语音。

对于Microsoft.Speech

  1. 从下面的链接下载语音
  2. 添加对     项目中的Microsoft.Speech DLL

可以从下面的链接下载Microsoft语音识别和文本到语音引擎数据文件;

用于Microsoft支持的语言的语音识别和文本到语音引擎 https://www.microsoft.com/en-us/download/details.aspx?id=27224

有关更多信息:
Microsoft语音编程指南
https://docs.microsoft.com/en-us/previous-versions/office/developer/speech-technologies/hh378466(v%3doffice.14)

SpeechSynthesizer.SelectVoice方法
https://docs.microsoft.com/en-us/previous-versions/office/developer/speech-technologies/dd167624(v%3Doffice.14)

System.Speech.Synthesis命名空间
https://docs.microsoft.com/en-us/dotnet/api/system.speech.synthesis?view=netframework-4.7.2