我可以在 System.Speech.Synthesis 中使用 Windows 11 中添加的讲述人自然语音吗?

问题描述 投票:0回答:1

我想通过System.Speech.Synthesis提供的SpeechSynthesizer在WPF中添加TTS。

但是,尽管下载了更多语音添加,但 Windows 11 中添加的自然语音并不是新添加的。

是否可以通过现有本地的 SpeechSynthesizer 使用自然语音,而不是通过订阅 Azure 并调用 API 密钥?

我用 GetInstalledVoices() 检查了列表,但没有添加新的声音。

c# wpf .net-4.8
1个回答
0
投票

System.Speech.Synthesis.SpeechSynthesizer
支持 SAPI 语音,而 Windows 11 讲述人自然语音是 Azure AI Speech 语音的离线(嵌入式)版本。

它们属于不同的语音系统,因此您不能通过 SpeechSynthesizer 使用自然语音,也不能通过 Azure Speech SDK 使用 SAPI 语音。

微软建议使用Azure语音的在线版本,功能更多,但需要联网,而且要花钱。如果无法访问互联网,微软还提供一些语音的离线(嵌入式)版本。然而,对嵌入语音的访问是有限的:

微软限制对嵌入式语音的访问。您可以通过 Azure AI Speech 嵌入式语音受限访问审核申请访问权限。有关更多信息,请参阅嵌入式语音的访问受限

还有:

只有由 Microsoft 管理的客户,即直接与 Microsoft 客户团队合作的客户,才有资格访问。

Windows 11 讲述人自然声音怎么样?是的,它们是嵌入的声音,但它们受到一些不公开的模型密钥的保护。事实上,微软没有为第三方应用程序提供使用“讲述人”自然语音的记录方式。

所以不符合嵌入语音资格的人只能使用在线版本。

...或者,如果您仍想尝试一下,这里有一个 hack 可以完全满足您的需求:让“讲述人”的自然声音可供

System.Speech.Synthesis.SpeechSynthesizer
使用。它以某种方式从某些系统文件中提取了正确的模型密钥,因此它可以使用安装的自然声音。但它仍然没有得到微软的认可。使用它需要您自担风险。

© www.soinside.com 2019 - 2024. All rights reserved.