在 SpeechSynthesizer 中更改声音

Muf*_*lix 5 c# text-to-speech speechsynthesizer

我尝试更换扬声器,但我没有在SpeechSynthesizer课堂上列出所有已安装的扬声器(乔治、苏珊、雅库布),另一方面,我有一个根本没有安装的扬声器(齐拉)。

在此输入图像描述 在此输入图像描述

这里发生了什么事?我可以以某种方式将特定的扬声器添加到我的项目中(例如作为 .dll 或其他内容)以不依赖于计算机语言/区域吗?

Erd*_*sci 1


更新

正如@Jimi 提到的,System.Speech 和 Microsoft.Speech 是不同的,为了避免混淆,仅使用其中之一应该是正确的选择。

对于系统.语音

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

例如Helen在 en_US 包中。因此,应通过添加英语(美国)语言来下载附加语音。

对于 Microsoft.Speech

  1. 从下面的链接下载演讲稿
  2. 在项目中添加对 Microsoft.Speech DLL 的引用

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

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

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

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

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