向 SpeechSynthesizer 添加新语言
Adding a new Language to SpeechSynthesizer
所以我正在尝试向 SpeechSynthesizer 添加一种新语言,特别是挪威语,但它似乎没有安装。
找到这个:
Add another voice into .NET Speech
(但这里的问题是不支持捷克语)
我已经从这里安装了挪威语包:
http://www.microsoft.com/en-us/download/details.aspx?id=27224
在我的代码中,我使用它来检查它是否已安装:
foreach (var voice in speaker.GetInstalledVoices())
{
Console.WriteLine(voice.VoiceInfo.Description);
}
但它只输出:
Microsoft Zira 桌面版 - 英语(美国)
已经检查了文本转语音工具,这也是唯一的选择。
还尝试登录 off/log 并重新启动计算机。
有人知道如何解决这个问题吗?
您可能需要将语音语言添加到 Windows10 并设置您的区域设置、国家/地区、Windows 显示语言和语音语言,以便它们都与 Cortana 支持的区域设置配置之一保持一致。
确认设置是否正确:
打开“设置”。 Select时间和语言,然后是地区和语言。
检查 Windows 显示语言的语言(设为默认)设置。如果您想要的语言不可用,请添加您想要的语言:
- 单击“添加语言”。
- Select 列表中您想要的语言。
- Select 所需的语言环境,即 language/country 组合。
- 单击新 selected 语言环境和 select 选项。
- 在“下载语言包”下,单击“下载”。
- 在“语音”下,单击“下载”。
- 下载完成后(这可能需要几分钟),return 时间和语言设置。
- 单击您的新语言并select设置为默认语言。
- 注意:如果您更改了语言,则必须退出帐户并重新登录才能使新设置生效。
检查国家或地区设置。确保国家 selected 与语言设置中设置的 Windows 显示语言一致。
Return 设置和时间和语言,然后 select 语音。检查语音语言设置,确保它与之前的设置一致。
正确完成上述操作后,您的语言应该会出现在 SpeechSynthesizer.AllVoices 集合中。然后您应该能够将此语音分配给您的 SpeechSynthesizer 实例的语音 属性:
private async void SpeakText(MediaElement audioPlayer, string TTS)
{
SpeechSynthesizer ttssynthesizer = new SpeechSynthesizer();
//Set the Voice/Speaker to Spanish
using (var speaker = new SpeechSynthesizer())
{
speaker.Voice = (SpeechSynthesizer.AllVoices.First(x => x.Gender == VoiceGender.Female && x.Language.Contains("ES")) );
ttssynthesizer.Voice = speaker.Voice;
}
SpeechSynthesisStream ttsStream = await ttssynthesizer.SynthesizeTextToStreamAsync(TTS);
audioPlayer.SetSource(ttsStream, "");
}
所以我正在尝试向 SpeechSynthesizer 添加一种新语言,特别是挪威语,但它似乎没有安装。
找到这个: Add another voice into .NET Speech (但这里的问题是不支持捷克语)
我已经从这里安装了挪威语包: http://www.microsoft.com/en-us/download/details.aspx?id=27224
在我的代码中,我使用它来检查它是否已安装:
foreach (var voice in speaker.GetInstalledVoices())
{
Console.WriteLine(voice.VoiceInfo.Description);
}
但它只输出: Microsoft Zira 桌面版 - 英语(美国)
已经检查了文本转语音工具,这也是唯一的选择。 还尝试登录 off/log 并重新启动计算机。
有人知道如何解决这个问题吗?
您可能需要将语音语言添加到 Windows10 并设置您的区域设置、国家/地区、Windows 显示语言和语音语言,以便它们都与 Cortana 支持的区域设置配置之一保持一致。
确认设置是否正确:
打开“设置”。 Select时间和语言,然后是地区和语言。
检查 Windows 显示语言的语言(设为默认)设置。如果您想要的语言不可用,请添加您想要的语言:
- 单击“添加语言”。
- Select 列表中您想要的语言。
- Select 所需的语言环境,即 language/country 组合。
- 单击新 selected 语言环境和 select 选项。
- 在“下载语言包”下,单击“下载”。
- 在“语音”下,单击“下载”。
- 下载完成后(这可能需要几分钟),return 时间和语言设置。
- 单击您的新语言并select设置为默认语言。
- 注意:如果您更改了语言,则必须退出帐户并重新登录才能使新设置生效。
检查国家或地区设置。确保国家 selected 与语言设置中设置的 Windows 显示语言一致。
Return 设置和时间和语言,然后 select 语音。检查语音语言设置,确保它与之前的设置一致。
正确完成上述操作后,您的语言应该会出现在 SpeechSynthesizer.AllVoices 集合中。然后您应该能够将此语音分配给您的 SpeechSynthesizer 实例的语音 属性:
private async void SpeakText(MediaElement audioPlayer, string TTS)
{
SpeechSynthesizer ttssynthesizer = new SpeechSynthesizer();
//Set the Voice/Speaker to Spanish
using (var speaker = new SpeechSynthesizer())
{
speaker.Voice = (SpeechSynthesizer.AllVoices.First(x => x.Gender == VoiceGender.Female && x.Language.Contains("ES")) );
ttssynthesizer.Voice = speaker.Voice;
}
SpeechSynthesisStream ttsStream = await ttssynthesizer.SynthesizeTextToStreamAsync(TTS);
audioPlayer.SetSource(ttsStream, "");
}