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

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

Batch 合成 API 提供长格式文本到语音的异步合成。 本文介绍从长音频 API 升级到 Batch 合成 API 的好处,以及有关如何执行此操作的详细信息。

重要

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

基本路径和版本

将终结点更新https://YourSpeechRegion.customvoice.api.speech.microsoft.comhttps://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 批处理合成响应属性中的 URL outputs.result结果位于 ZIP 文件中,其中包含音频(例如 0001.wav)、摘要和调试详细信息。

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

清理资源

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

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

后续步骤