Azure 认知服务 TTS - 示例应用中其他语言的错误

Azure Cognitive Services TTS - an error for other language in sample app

我想实现对 Azure 认知服务 TTS 的 api 调用。 感谢@Md Farid Uddin Kiron Whosebug 用户和我们在 上讨论的问题 因此,我提取了一个示例代码,它是一个与 Azure 通信的 .netcore Web 应用程序。 Sample link is here

我有以下问题: 该应用程序与模型中的预定义语言完美配合,例如:

    public List<SelectListItem> LanguagePreference { get; set; } = new List<SelectListItem>
    {
       new SelectListItem { Value = "NA", Text = "-Select-" },
       new SelectListItem { Value = "en-US", Text = "English (United States)"  },
       new SelectListItem { Value = "en-IN", Text = "English (India)"  },
       new SelectListItem { Value = "ta-IN", Text = "Tamil (India)"  },
       new SelectListItem { Value = "hi-IN", Text = "Hindi (India)"  },
       new SelectListItem { Value = "te-IN", Text = "Telugu (India)"  }
    };

但是当我添加例如意大利语(it-IT、hr-HR - 这些是字段值的语言代码)时,HomeController 中的代码在方法 Translate 上中断。

我已经成功重现你的问题。

根据我的发现,语言支持有一些关键点,例如:

  1. Subscription 免费订阅不允许所有语言

  2. Region of Support

  3. var requestBody = this.GenerateSsml(lang, "Female", this.ServiceName(lang), content);

注意:不支持女性的语言也可能是问题。

您的案例:

在您的代码中,您可以尝试在 LanguagePreference 列表

中使用以下代码
 new SelectListItem { Value = "es-ES", Text = "es-ES,(Spanish)"  }

同时更改 ServiceName 下的以下代码 我已经用西班牙语进行了测试,效果很好。

 values.Add("es-ES", "Microsoft Server Speech Text to Speech Voice (es-ES, Laura, Apollo)");

要记住的要点:

我们的代码库没问题。问题与代码无关。请确保您的订阅和地区支持您正在尝试的翻译。也可以在 Azure 门户上提高您的支持票。