SpeechSynthesizer 无法获取所有已安装的语音

发布于 2024-09-08 09:55:16 字数 301 浏览 5 评论 0原文

我在我的 Windows 7 64 位操作系统中安装了新的 32 位 Scansoft 语音 (Jennifer),以便能够在我正在开发的一个 .NET 应用程序中使用。

问题是,当我调用该方法时:

   List<string> allInstalledVoices = new SpeechSynthesizer().GetInstalledVoices();

我只返回一种语音,即默认的 Microsoft Anna Voice。但我可以在其他文本转语音应用程序中看到所有已安装的语音。

I have installed a new 32 bits Scansoft voice (Jennifer) in my Windows 7 64 bits OS in order to be able to use from in one .NET application i'm developing.

The problem is that I when I call the method :

   List<string> allInstalledVoices = new SpeechSynthesizer().GetInstalledVoices();

I only get one voice returned, the default Microsoft Anna Voice. but I can see all the installed voices in other text to speech application.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

年少掌心 2024-09-15 09:55:16

我发现问题是什么了。事实证明,当将项目编译到“Any CPU”时(使用Visual Studio 2008),就会出现问题。但是当换成x86后,这个问题就不再出现了。

I found what the problem was. It turns out that when compiling the project to "Any CPU" (using Visual Studio 2008), the problem occurs. but when changed to x86, the problem doesn't appear anymore.

终遇你 2024-09-15 09:55:16

我在验证这一点时遇到了麻烦,但我相信 Scansoft 的 Jennifer 语音是符合 SAPI 4.0 的语音;托管语音 API 仅适用于 SAPI 5.1 兼容语音。

I'm having troubles verifying this, but I believe that Scansoft's Jennifer voice is a SAPI 4.0 compliant voice; the Managed Speech API only works with SAPI 5.1 compliant voices.

☆獨立☆ 2024-09-15 09:55:16

最近的 Windows 更新意味着针对此问题发布的答案不再有效。

新的修复是:

注册表位置中列出的语音文件...

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\(filename)]

...都需要复制到新位置:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\(filename)]

请注意“Attributes”子文件夹,即 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Speech_OneCore\Voices\Tokens\(filename)\Attributes]

还需要复制到新位置并进行编辑,以使其正确反映其引用的语音文件的名称和路径。

A recent update to Windows means the posted answer to this problem no longer works.

The new fix is:

The Speech files that are listed in the Registry Location...

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\(filename)]

... all need to be copied to a new location:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\(filename)]

Note that the "Attributes" sub folder ie [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\(filename)\Attributes]

also need to be copied to the new location, and edited so that it correctly reflects the name and path of the speech file it refers to.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文