如何获取 Azure Text To Speech 的可用语音列表?

Posted

技术标签:

【中文标题】如何获取 Azure Text To Speech 的可用语音列表?【英文标题】:How to get a list of available voices for Azure Text To Speech? 【发布时间】:2019-02-25 01:21:42 【问题描述】:

有没有办法以编程方式列出 Azure Text To Speech 中的可用语音?

我已经广泛搜索并找到了这个页面https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support

但我还没有找到任何以编程方式获取此信息的方法 - 有可能吗?

【问题讨论】:

【参考方案1】:

voices/list 端点,它记录在here。

文档中的示例:

GET /cognitiveservices/voices/list HTTP/1.1

Host: westus.tts.speech.microsoft.com
Authorization: Bearer [Base64 access_token]

【讨论】:

【参考方案2】:

根据招摇中提到的documentation,您可以使用

api/languagegeneration/v2.0/Endpoints/locales

获取支持的语言环境的终点。

/api/texttospeech/v2.0/datasets/locales

【讨论】:

感谢您的回复 - 我试过了,但这里没有足够的信息来实际提出解决方案 - 您介意提供更多详细信息吗?【参考方案3】:

自 1.16.0 以来...

SpeechSynthesizer.GetVoicesAsync(string locale)

var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");            
using var synthesizer = new SpeechSynthesizer(config, null as AudioConfig);
using var result = await synthesizer.GetVoicesAsync();
if (result.Reason == ResultReason.VoicesListRetrieved)

    Debug.WriteLine($"Found result.Voices.Count voices");

Azure-Samples github 存储库中有一个工作示例 SynthesisGetAvailableVoicesAsync() 方法...Text-to-speech quickstart 页面顶部有一个文本转语音示例的直接链接。

【讨论】:

以上是关于如何获取 Azure Text To Speech 的可用语音列表?的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Azure Speech to Text Java 问题:使用代理时出现 ConnectionFailure

Azure Speech-To-Text 多语音识别

如何播放从 Bing Text to Speech API 返回的音频流?

Azure Cognitive Services- Speech To Text

如何从 Google Cloud API Text-to-Speech 获取音素

如何从 Google Cloud text-to-speech API 获取 SSML <mark> 时间戳