你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

文本转语音 REST API

语音服务允许你将 文本转换为合成语音 ,并使用 REST API 获取区域支持的语音列表 。 在本文中,你将了解授权选项、查询选项、如何构建请求以及如何解释响应。

提示

文本转语音 REST API 的用例受到限制。 仅在无法使用 语音 SDK 的情况下使用。 例如,使用语音 SDK,可以 订阅事件 ,以获取有关文本到语音处理和结果的更多见解。

文本转语音 REST API 支持许多区域设置中的神经网络“文本转语音”语音。 每个可用的终结点都与一个区域相关联。 需要你计划使用的终结点或区域的 API 密钥。 下面是指向详细信息的链接:

重要

标准语音和自定义语音的成本各不相同。 有关详细信息,请参阅 文本转语音定价

先决条件

若要使用文本转语音 REST API,需要:

认证

每个请求都需要授权标头。 下表说明了每个功能支持哪些标头:

支持的授权标头 语音转文本 文本转语音
Ocp-Apim-Subscription-Key 是的 是的
Authorization: Bearer 是的 是的

使用 Ocp-Apim-Subscription-Key 标头时,只需提供资源密钥。 例如:

'Ocp-Apim-Subscription-Key': 'YourSpeechResourceKey'

如果您在 Authorization: Bearer 中使用 STS 承载令牌流程,请先向 issueToken 端点发送请求。 在此请求中,将资源密钥交换为有效期为 10 分钟的访问令牌。

另一种方法是使用Microsoft Entra身份验证,该身份验证还使用 Authorization: Bearer 标头,但使用通过Microsoft Entra ID颁发的令牌。 请参阅 使用Microsoft Entra身份验证

如何获取 STS 访问令牌

若要获取 STS 访问令牌,请使用 Ocp-Apim-Subscription-Key 和资源密钥向 issueToken 端点发出请求。

终结点 issueToken 采用以下格式:

https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken

YourResourceName 替换为你的语音资源名称。

注意

此终结点要求资源配置 自定义子域 。 对于没有自定义域的资源,请改用区域终结点: https://<region>.api.cognitive.microsoft.com/sts/v1.0/issueToken<region> 替换为资源的Azure区域(例如,eastus)。

使用以下示例创建访问令牌请求。

HTTP 示例

此示例是一个简单的 HTTP 请求来获取令牌。 将 YourSpeechResourceKey 替换为语音服务的资源密钥。 将 YourResourceName 替换为你的语音资源名称。

POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YourSpeechResourceKey
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0

响应正文包含 JSON Web 令牌 (JWT) 格式的访问令牌。

PowerShell 示例

此示例是一个简单的 PowerShell 脚本,用于获取访问令牌。 将 YourSpeechResourceKey 替换为语音服务的资源密钥。 将 YourResourceName 替换为你的语音资源名称。

$FetchTokenHeader = @{
  'Content-type'='application/x-www-form-urlencoded';
  'Content-Length'= '0';
  'Ocp-Apim-Subscription-Key' = 'YourSpeechResourceKey'
}

$OAuthToken = Invoke-RestMethod -Method POST `
    -Uri https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken `
    -Headers $FetchTokenHeader

# show the token received
$OAuthToken

cURL 示例

cURL 是 Linux(适用于 Linux 的 Windows 子系统)中提供的命令行工具。 此 cURL 命令演示如何获取访问令牌。 将 YourSpeechResourceKey 替换为语音服务的资源密钥。 将 YourResourceName 替换为你的语音资源名称。

curl -v -X POST \
 "https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken" \
 -H "Content-type: application/x-www-form-urlencoded" \
 -H "Content-Length: 0" \
 -H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey"

C# 示例

此 C# 类演示如何获取访问令牌。 在实例化该类时,传递你的语音服务的资源密钥。 将 YourResourceName 替换为你的语音资源名称。

public class Authentication
{
    public static readonly string FetchTokenUri =
        "https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken";
    private string subscriptionKey;
    private string token;

    public Authentication(string subscriptionKey)
    {
        this.subscriptionKey = subscriptionKey;
        this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
    }

    public string GetAccessToken()
    {
        return this.token;
    }

    private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            UriBuilder uriBuilder = new UriBuilder(fetchUri);

            var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
            Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
            return await result.Content.ReadAsStringAsync();
        }
    }
}

Python示例

# Request module must be installed.
# Run pip install requests if necessary.
import requests

subscription_key = 'REPLACE_WITH_YOUR_KEY'


def get_token(subscription_key):
    fetch_token_url = 'https://YourResourceName.cognitiveservices.azure.com/sts/v1.0/issueToken'
    headers = {
        'Ocp-Apim-Subscription-Key': subscription_key
    }
    response = requests.post(fetch_token_url, headers=headers)
    access_token = str(response.text)
    print(access_token)

如何使用访问令牌

应将访问令牌作为 Authorization: Bearer <TOKEN> 头信息发送到服务。 每个访问令牌有效期为 10 分钟。 可以随时获取新令牌,但为了最大程度地减少网络流量和延迟,建议将同一令牌使用 9 分钟。

重要

持有者令牌的作用范围仅限于签发该令牌的端点。 从 YourResourceName.cognitiveservices.azure.com 获取的令牌仅适用于对该主机的请求。 来自 <region>.api.cognitive.microsoft.com 的令牌仅适用于区域性语音端点。 如果您在使用 Bearer 令牌时收到 401 错误,请改为将 Ocp-Apim-Subscription-Key 与您的资源密钥一起使用,因为这种方式适用于所有终结点格式。

下面是针对短音频的语音转文本 REST API 的示例 HTTP 请求:

POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive

// Message body here...

使用Microsoft Entra身份验证

要使用 Microsoft Entra 身份验证与语音识别 REST API 处理短音频,你需要创建一个访问令牌。 获取包含资源 ID 和Microsoft Entra访问令牌的访问令牌的步骤与使用语音 SDK 时的步骤相同。 按照此处的步骤使用Microsoft Entra身份验证

  • 创建适用于语音的 Foundry 资源
  • 配置语音资源以用于Microsoft Entra身份验证
  • 获取Microsoft Entra访问令牌
  • 获取语音资源 ID

获取资源 ID 和Microsoft Entra访问令牌后,可以按以下格式构造实际访问令牌:

aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN

需要在资源 ID 和访问令牌之间包括“aad#”前缀和“#”(哈希)分隔符。

下面是针对短音频的语音转文本 REST API 的示例 HTTP 请求:

POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: YourResourceName.cognitiveservices.azure.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive

// Message body here...

若要详细了解Microsoft Entra访问令牌(包括令牌生存期),请访问 Microsoft 身份平台中的 访问令牌

获取语音列表

可以使用 Speech 资源终结点获取完整的语音列表。 将 /tts/cognitiveservices/voices/list 路径与资源终结点一起使用。 例如,使用 https://YourResourceName.cognitiveservices.azure.com/tts/cognitiveservices/voices/list 终结点。 有关所有受支持区域的列表,请参阅 区域 文档。

注意

预览版中的语音和样式 仅在区域子集中可用。 有关支持公共预览版中语音和样式的区域的当前列表,请参阅 语音服务区域表

请求标头

此表列出了文本转语音请求的必需标头和可选标头:

标题 描述 必需或可选
Ocp-Apim-Subscription-Key 语音资源密钥。 此标头或 Authorization 是必需的。
Authorization 一个授权令牌,前面有一个单词 Bearer。 有关详细信息,请参阅 “身份验证”。 此标头或 Ocp-Apim-Subscription-Key 是必需的。

请求正文

对此终结点的 GET 请求不需要正文。

示例请求

此请求只需要授权标头:

GET /tts/cognitiveservices/voices/list HTTP/1.1

Host: YourResourceName.cognitiveservices.azure.com
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY

下面是一个示例 curl 命令:

curl --location --request GET 'https://YourResourceName.cognitiveservices.azure.com/tts/cognitiveservices/voices/list' \
--header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'

示例响应

你应会收到一个响应,其中 JSON 正文包含所有受支持的区域设置、声音、性别、风格和其他详细信息。 WordsPerMinute每个语音的属性可用于估计输出语音的长度。 此 JSON 示例显示部分结果,以说明响应的结构:

[
    // Redacted for brevity
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
        "DisplayName": "Jenny",
        "LocalName": "Jenny",
        "ShortName": "en-US-JennyNeural",
        "Gender": "Female",
        "Locale": "en-US",
        "LocaleName": "English (United States)",
        "StyleList": [
          "assistant",
          "chat",
          "customerservice",
          "newscast",
          "angry",
          "cheerful",
          "sad",
          "excited",
          "friendly",
          "terrified",
          "shouting",
          "unfriendly",
          "whispering",
          "hopeful"
        ],
        "SampleRateHertz": "48000",
        "VoiceType": "Neural",
        "Status": "GA",
        "WordsPerMinute": "152"
    },
    // Redacted for brevity
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (en-US, JennyMultilingualNeural)",
        "DisplayName": "Jenny Multilingual",
        "LocalName": "Jenny Multilingual",
        "ShortName": "en-US-JennyMultilingualNeural",
        "Gender": "Female",
        "Locale": "en-US",
        "LocaleName": "English (United States)",
        "SecondaryLocaleList": [
          "de-DE",
          "en-AU",
          "en-CA",
          "en-GB",
          "es-ES",
          "es-MX",
          "fr-CA",
          "fr-FR",
          "it-IT",
          "ja-JP",
          "ko-KR",
          "pt-BR",
          "zh-CN"
        ],
        "SampleRateHertz": "48000",
        "VoiceType": "Neural",
        "Status": "GA",
        "WordsPerMinute": "190"
    },
    // Redacted for brevity
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (ga-IE, OrlaNeural)",
        "DisplayName": "Orla",
        "LocalName": "Orla",
        "ShortName": "ga-IE-OrlaNeural",
        "Gender": "Female",
        "Locale": "ga-IE",
        "LocaleName": "Irish (Ireland)",
        "SampleRateHertz": "48000",
        "VoiceType": "Neural",
        "Status": "GA",
        "WordsPerMinute": "139"
    },
    // Redacted for brevity
    {
        "Name": "Microsoft Server Speech Text to Speech Voice (zh-CN, YunxiNeural)",
        "DisplayName": "Yunxi",
        "LocalName": "云希",
        "ShortName": "zh-CN-YunxiNeural",
        "Gender": "Male",
        "Locale": "zh-CN",
        "LocaleName": "Chinese (Mandarin, Simplified)",
        "StyleList": [
          "narration-relaxed",
          "embarrassed",
          "fearful",
          "cheerful",
          "disgruntled",
          "serious",
          "angry",
          "sad",
          "depressed",
          "chat",
          "assistant",
          "newscast"
        ],
        "SampleRateHertz": "48000",
        "VoiceType": "Neural",
        "Status": "GA",
        "RolePlayList": [
          "Narrator",
          "YoungAdultMale",
          "Boy"
        ],
        "WordsPerMinute": "293"
    },
    // Redacted for brevity
]

HTTP 状态代码

每个响应的 HTTP 状态代码指示成功或常见错误。

HTTP 状态代码 描述 可能的原因
200 还行 请求成功。
400 错误请求 缺少必需参数、空或 null。 或者,传递给必需或可选参数的值无效。 一个常见原因是标头太长。
401 未经 授权 请求未获授权。 确保资源密钥或令牌有效且位于正确的区域中。
429 请求过多 已超出资源允许的请求配额或速率。
502 网关错误 存在网络或服务器端问题。 此状态还可能指示标头无效。

将文本转换为语音

终结点 cognitiveservices/v1 允许使用 语音合成标记语言(SSML)将文本转换为语音。

区域和终结点

这些区域通过 REST API 支持文本转语音。 请务必选择与语音资源区域匹配的终结点。

标准语音

使用此表可以按区域或终结点确定 神经语音的可用性

区域 端点
澳大利亚东部 https://australiaeast.tts.speech.microsoft.com/cognitiveservices/v1
巴西南部 https://brazilsouth.tts.speech.microsoft.com/cognitiveservices/v1
加拿大中部 https://canadacentral.tts.speech.microsoft.com/cognitiveservices/v1
加拿大东部 https://canadaeast.tts.speech.microsoft.com/cognitiveservices/v1
美国中部 https://centralus.tts.speech.microsoft.com/cognitiveservices/v1
东亚 https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1
美国东部 https://eastus.tts.speech.microsoft.com/cognitiveservices/v1
美国东部 2 https://eastus2.tts.speech.microsoft.com/cognitiveservices/v1
法国中部 https://francecentral.tts.speech.microsoft.com/cognitiveservices/v1
德国中西部 https://germanywestcentral.tts.speech.microsoft.com/cognitiveservices/v1
印度中部 https://centralindia.tts.speech.microsoft.com/cognitiveservices/v1
意大利北部 https://italynorth.tts.speech.microsoft.com/cognitiveservices/v1
日本东部 https://japaneast.tts.speech.microsoft.com/cognitiveservices/v1
日本西部 https://japanwest.tts.speech.microsoft.com/cognitiveservices/v1
韩国中部 https://koreacentral.tts.speech.microsoft.com/cognitiveservices/v1
美国中北部 https://northcentralus.tts.speech.microsoft.com/cognitiveservices/v1
北欧 https://northeurope.tts.speech.microsoft.com/cognitiveservices/v1
挪威东部 https://norwayeast.tts.speech.microsoft.com/cognitiveservices/v1
卡塔尔中部 https://qatarcentral.tts.speech.microsoft.com/cognitiveservices/v1
南非北部 https://southafricanorth.tts.speech.microsoft.com/cognitiveservices/v1
美国中南部 https://southcentralus.tts.speech.microsoft.com/cognitiveservices/v1
东南亚 https://southeastasia.tts.speech.microsoft.com/cognitiveservices/v1
瑞典中部 https://swedencentral.tts.speech.microsoft.com/cognitiveservices/v1
瑞士北部 https://switzerlandnorth.tts.speech.microsoft.com/cognitiveservices/v1
瑞士西部 https://switzerlandwest.tts.speech.microsoft.com/cognitiveservices/v1
阿拉伯联合酋长国北部 https://uaenorth.tts.speech.microsoft.com/cognitiveservices/v1
英国南部 https://uksouth.tts.speech.microsoft.com/cognitiveservices/v1
英国西部 https://ukwest.tts.speech.microsoft.com/cognitiveservices/v1
US Gov 亚利桑那州 https://usgovarizona.tts.speech.azure.us/cognitiveservices/v1
US Gov 弗吉尼亚州 https://usgovvirginia.tts.speech.azure.us/cognitiveservices/v1
美国中西部 https://westcentralus.tts.speech.microsoft.com/cognitiveservices/v1
西欧 https://westeurope.tts.speech.microsoft.com/cognitiveservices/v1
美国西部 https://westus.tts.speech.microsoft.com/cognitiveservices/v1
美国西部 2 https://westus2.tts.speech.microsoft.com/cognitiveservices/v1
美国西部 3 https://westus3.tts.speech.microsoft.com/cognitiveservices/v1

提示

有关支持预览版语音的区域的当前列表,请参阅 语音服务区域表

自定义语音

如果您创建了自定义的语音,请使用您创建的终结点。 还可以使用以下终结点。 用自定义语音模型的部署 ID 替换 {deploymentId}

区域 培训 部署 端点
澳大利亚东部 是的 是的 https://australiaeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
巴西南部 是的 https://brazilsouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
加拿大中部 是的 https://canadacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国中部 是的 https://centralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
东亚 是的 https://eastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国东部 是的 是的 https://eastus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国东部 2 是的 是的 https://eastus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
法国中部 是的 https://francecentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
德国中西部 是的 https://germanywestcentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
印度中部 是的 是的 https://centralindia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
意大利北部 是的 https://italynorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
日本东部 是的 是的 https://japaneast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
日本西部 是的 https://japanwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
韩国中部 是的 是的 https://koreacentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国中北部 是的 https://northcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
北欧 是的 是的 https://northeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
挪威东部 是的 https://norwayeast.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
南非北部 是的 https://southafricanorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国中南部 是的 是的 https://southcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
东南亚 是的 是的 https://southeastasia.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
瑞典中部 是的 https://swedencentral.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
瑞士北部 是的 https://switzerlandnorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
瑞士西部 是的 https://switzerlandwest.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
阿拉伯联合酋长国北部 是的 https://uaenorth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
英国南部 是的 是的 https://uksouth.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国中西部 是的 https://westcentralus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
西欧 是的 是的 https://westeurope.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国西部 是的 是的 https://westus.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国西部 2 是的 是的 https://westus2.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}
美国西部 3 是的 https://westus3.voice.speech.microsoft.com/cognitiveservices/v1?deploymentId={deploymentId}

注意

上述区域可用于标准语音模型托管和实时合成。 自定义语音训练仅在某些区域中可用。 但是,可以轻松地将 自定义语音模型 从这些区域复制到上述列表中的其他区域。

长音频 API

长音频 API 在多个区域中可用,并且具有独特的端点。

区域 端点
澳大利亚东部 https://australiaeast.customvoice.api.speech.microsoft.com
美国东部 https://eastus.customvoice.api.speech.microsoft.com
印度中部 https://centralindia.customvoice.api.speech.microsoft.com
美国中南部 https://southcentralus.customvoice.api.speech.microsoft.com
东南亚 https://southeastasia.customvoice.api.speech.microsoft.com
英国南部 https://uksouth.customvoice.api.speech.microsoft.com
西欧 https://westeurope.customvoice.api.speech.microsoft.com

请求标头

此表列出了文本转语音请求的必需标头和可选标头:

标题 描述 必需或可选
Authorization 一个授权令牌,前面有一个单词 Bearer。 有关详细信息,请参阅 “身份验证”。 必填
Content-Type 指定所提供文本的内容类型。 接受的值: application/ssml+xml 必填
X-Microsoft-OutputFormat 指定音频输出格式。 有关接受值的完整列表,请参阅 音频输出 必填
User-Agent 应用程序名称。 提供的值必须少于 255 个字符。 必填

请求正文

如果使用自定义语音,请求正文可以发送为纯文本(ASCII 或 UTF-8)。 否则,每个 POST 请求的正文将作为 SSML 发送。 SSML 允许你选择文本到语音功能返回的合成语音的语音和语言。 有关支持语音的完整列表,请参阅 语音服务的语言和语音支持

示例请求

此 HTTP 请求使用 SSML 指定语音和语言。 如果正文长度较长,并且生成的音频超过 10 分钟,则将其截断为 10 分钟。 换句话说,音频长度不能超过 10 分钟。

POST /cognitiveservices/v1 HTTP/1.1

X-Microsoft-OutputFormat: riff-24khz-16bit-mono-pcm
Content-Type: application/ssml+xml
Host: YourResourceName.cognitiveservices.azure.com
Content-Length: <Length>
Authorization: Bearer [Base64 access_token]
User-Agent: <Your application name>

<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Male'
    name='en-US-ChristopherNeural'>
        I'm excited to try text to speech!
</voice></speak>

* 对于内容长度,应使用自己的内容长度。 在大多数情况下,会自动计算此值。

HTTP 状态代码

每个响应的 HTTP 状态代码指示成功或常见错误:

HTTP 状态代码 描述 可能的原因
200 还行 请求成功。 响应主体是音频文件。
400 错误请求 缺少必需参数、空或 null。 或者,传递给必需或可选参数的值无效。 一个常见原因是标头太长。
401 未经 授权 请求未获授权。 确保语音资源密钥或令牌有效且位于正确的区域中。
415 不支持的媒体类型 可能提供了错误的 Content-Type 值。 Content-Type 应设置为 application/ssml+xml.
429 请求过多 已超出资源允许的请求配额或速率。
502 网关错误 存在网络或服务器端问题。 此状态还可能指示标头无效。
503 服务不可用 由于各种原因,服务器端存在问题。

如果 HTTP 状态为 200 OK,响应正文包含请求格式的音频文件。 此文件可在传输、保存到缓冲区或保存到文件时播放。

音频输出

支持的流式处理和非流式处理音频格式作为 X-Microsoft-OutputFormat 标头在每个请求中发送。 每个格式都包含比特率和编码类型。 语音服务支持 48-kHz、24-kHz、16-kHz 和 8-kHz 音频输出。 每个标准语音模型在 24kHz 和高保真 48kHz 上可用。

amr-wb-16000hz
audio-16khz-16bit-32kbps-mono-opus
audio-16khz-32kbitrate-mono-mp3
audio-16khz-64kbitrate-mono-mp3
audio-16khz-128kbitrate-mono-mp3
audio-24khz-16bit-24kbps-mono-opus
audio-24khz-16bit-48kbps-mono-opus
audio-24khz-48kbitrate-mono-mp3
audio-24khz-96kbitrate-mono-mp3
audio-24khz-160kbitrate-mono-mp3
audio-48khz-96kbitrate-mono-mp3
audio-48khz-192kbitrate-mono-mp3
g722-16khz-64kbps
ogg-16khz-16bit-mono-opus
ogg-24khz-16bit-mono-opus
ogg-48khz-16bit-mono-opus
raw-8khz-8bit-mono-alaw
raw-8khz-8bit-mono-mulaw
raw-8khz-16bit-mono-pcm
raw-16khz-16bit-mono-pcm
raw-16khz-16bit-mono-truesilk
raw-22050hz-16bit-mono-pcm
raw-24khz-16bit-mono-pcm
raw-24khz-16bit-mono-truesilk
raw-44100hz-16bit-mono-pcm
raw-48khz-16bit-mono-pcm
webm-16khz-16bit-mono-opus
webm-24khz-16bit-24kbps-mono-opus
webm-24khz-16bit-mono-opus

注意

如果选择 48kHz 输出格式,则会相应地调用具有 48kHz 的高保真语音模型。 合成时,可以通过向上采样或向下采样来获取 24kHz 和 48kHz 以外的采样率,例如,44.1kHz 从 48kHz 向下采样。

如果所选的语音和输出格式具有不同的比特率,则根据需要重新采样音频。 可以使用 ogg-24khz-16bit-mono-opus解码格式。

后续步骤