你当前正在访问 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.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 元素,包括 audio
、mstts:backgroundaudio
和 lexicon
元素。 长音频 API 不支持audio
和mstts:backgroundaudio
lexicon
元素。
音频输出格式
批处理合成 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 个请求。 语音服务不会自动删除作业历史记录。 在发出可能会超过限制的新请求之前,必须删除以前的作业运行历史记录。