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

将代码从长音频 API 迁移到批处理合成 API

批处理合成 API 提供长格式文本转语音的异步合成。 本文介绍从长音频 API 升级到批处理合成 API 的好处以及有关如何升级的详细信息。

重要

批量合成 API 现已正式发布。 长音频 API 将于 2027 年 4 月 1 日停用。

基路径和版本

将终结点从 https://YourSpeechRegion.customvoice.api.speech.microsoft.com 更新为 https://YourSpeechRegion.api.cognitive.microsoft.com,或者改用自定义域:https://{customDomainName}.cognitiveservices.azure.com/

在代码中将基路径从 /texttospeech/v3.0/longaudiosynthesis 更新为 /texttospeech/batchsyntheses

将版本从基路径更新为查询字符串 /texttospeech/v3.0/longaudiosynthesis?api-version=2024-04-01

例如,要列出 eastus 区域中语音资源的合成作业,请使用 https://eastus.api.cognitive.microsoft.com/texttospeech/batchsyntheses?api-version=2024-04-01 而不是 https://eastus.customvoice.api.speech.microsoft.com/api/texttospeech/v3.0/longaudiosynthesis

区域和终结点

批处理合成 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

语音列表

批处理合成 API 支持所有文本转语音的语音和样式

长音频 API 仅限于通过 GET 请求返回给 https://<endpoint>/api/texttospeech/v3.0/longaudiosynthesis/voices 的语音集。

文本输入

批处理合成文本输入以最大 2 MB 的 JSON 有效负载发送。

长音频 API 文本输入是从满足以下要求的文件上传的:

  • 一个纯文本 (.txt) 或 SSML 文本 (.txt) 文件,编码为 UTF-8(带有字节顺序标记 (BOM))。 不要使用 ZIP 等压缩文件。 如果有多个输入文件,则必须提交多个请求。
  • 文件包含 400 多个字符(对于纯文本),或 400 个可计费字符(对于 SSML 文本),并且少于 10,000 个段落。 对于纯文本,每个段落由一个新行分隔。 对于 SSML 文本,每个 SSML 部分都被视为一个段落。 按不同段落分隔 SSML 部分。

通过批处理合成 API,可以使用任何支持的 SSML 元素,包括 audiomstts:backgroundaudiolexicon 元素。 长音频 API 不支持 audiomstts:backgroundaudiolexicon 元素。

音频输出格式

批处理合成 API 支持所有文本转语音的音频输出格式

长音频 API 仅限于以下音频输出格式组。 长音频语音的采样率为 24kHz,而不是 48kHz。 合成时,可以通过向上采样或向下采样来获取其他采样率。

  • riff-8khz-16bit-mono-pcm
  • riff-16khz-16bit-mono-pcm
  • riff-24khz-16bit-mono-pcm
  • riff-48khz-16bit-mono-pcm
  • audio-16khz-32kbitrate-mono-mp3
  • audio-16khz-64kbitrate-mono-mp3
  • audio-16khz-128kbitrate-mono-mp3
  • audio-24khz-48kbitrate-mono-mp3
  • audio-24khz-96kbitrate-mono-mp3
  • audio-24khz-160kbitrate-mono-mp3

获取结果

对于批处理合成 API,使用来自 HTTP GET 批处理合成响应的 outputs.result 属性的 URL。 结果位于 ZIP 文件中,其中包含音频(例如 0001.wav)、摘要和调试详细信息。

长音频 API 文本输入和结果通过两个单独的内容 URL 返回,如以下示例所示。 包含 "kind": "LongAudioSynthesisScript" 的一个文件是已提交的输入脚本。 包含 "kind": "LongAudioSynthesisResult" 的另一个文件是此请求的结果。 可以从其 links.contentUrl 属性的 URL 中下载这两个 ZIP 文件。

清理资源

批处理合成 API 支持多达 300 个没有“成功”或“失败”状态的批处理合成作业。 语音服务可将每个合成历史记录最多保留 31 天,或请求 timeToLiveInHours 属性的持续时间,两者以先到者为准。 自动删除的日期和时间(对于状态为“成功”或“失败”的合成作业)等于 lastActionDateTime + timeToLiveInHours 属性。

每个 Azure 订阅帐户的长音频 API 限制为 20,000 个请求。 语音服务不会自动删除作业历史记录。 在发出可能会超过限制的新请求之前,必须删除以前的作业运行历史记录。

后续步骤