【问题标题】:Change Speech Voice in Speech API在 Speech API 中更改语音语音
【发布时间】:2013-05-30 03:44:57
【问题描述】:

我们如何更改应用内使用的语音?我似乎无法弄清楚 Windows 8 的默认声音是什么或在哪里。

我在网上看到文章说 Microsoft David 是 MS Windows 8 的最新和最伟大的声音,但我有一个新的 Windows 8 Pro 系统,我的系统上不存在这样的声音(只有 Zira 和其他一些人)。

我对@9​​87654321@ 感到害怕,它允许您使用字符串作为声音的名称,但在尝试了大约 30 个不同的名称后,包括大卫(和戴夫),它会抛出一个异常,说声音不存在。

我已经尝试过InstalledVoice - 但不知道如何使用它。

我们如何/在哪里可以下载不同的声音以用于 Windows 语音识别,以及我们如何从我们的代码中选择不同的声音来使用?

另外,SelectVoicebyHints() 完全没有任何作用。我不知道为什么。

【问题讨论】:

  • 您可以使用GetInstalledVoices() 查找系统上所有已安装的声音。并使用SelectVoice(voice) 进行设置
  • 是的。我最终想通了。但是我如何获得更多的声音呢?我到处搜索,没有找到任何东西。另外,您如何创建自己的?

标签: c# .net wpf windows winforms


【解决方案1】:

SpeechSynthesizer 有一个 GetInstalledVoices 方法,它返回系统中安装的语音的 ReadOnlyCollection(InstalledVoice 类型),为了更改合成器语音,您应该调用需要语音名称(字符串类型)的 SelectVoice 方法

SpeechSynthesizer synt = new SpeechSynthesizer();
IReadOnlyCollection<InstalledVoice> InstalledVoices = synt.GetInstalledVoices();
InstalledVoice InstalledVoice = InstalledVoices.First();
synt.SelectVoice(InstalledVoice.VoiceInfo.Name);
synt.Speak("This is how you select an installed voice");

要查看您的计算机中安装了哪些语音,您可以在以下位置查看它们: 控制面板 -> 语音识别 -> 文字转语音 您可以在此处指定更多信息以及语音速度

如果你想给你的电脑添加更多的声音,你应该搜索一些公司,比如

不确定,但 SelectVoicebyHints 应该尝试从安装的声音中选择与您通过该方法传递的规范更相似的声音

【讨论】:

    猜你喜欢
    • 2014-12-19
    • 2014-02-26
    • 2016-10-31
    • 1970-01-01
    • 2015-04-05
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多