延迟优化

本指南介绍如何降低应用中的文本转语音延迟。

本指南介绍提升文本转语音延迟表现的核心原则。如需了解延迟的概念及其影响因素,请参阅了解延迟。

虽然有许多具体技术,我们会将其归纳为 4 项原则。

4 项原则

  1. 使用 Flash 模型
  2. 利用流式传输
  3. 考虑地理位置邻近性
  4. 选择合适的音色

企业版客户可享受更高的并发限制和渲染队列优先访问权。联系销售团队,了解更多企业版套餐信息。

使用 Flash 模型

Flash 模型的推理速度约为 75ms,非常适合实时应用。与 Multilingual v2 相比,其代价是音频质量略有降低。

75ms 仅指模型推理时间。实际端到端延迟会因位置和所用端点类型等因素而异。

利用流式传输

我们的 API 参考文档提供 3 类文本转语音端点:

  • 常规端点:在单次响应中返回完整音频文件。
  • 流式端点:使用服务器发送事件逐步返回音频块。
  • WebSocket 端点:支持双向流式传输,实现实时音频生成。

流式传输

流式端点会在实时生成音频时逐步返回,从而减少首字节时间。建议在输入文本可预先获得的情况下使用此端点。

文本转语音 API、变声器 API 和音频分离 API 均支持流式传输。

WebSocket

文本转语音 WebSocket 端点支持双向流式传输,非常适合具有实时文本输入(例如 LLM 输出)的应用。

将 auto_mode 设为 true 可自动处理生成触发,无需手动管理分块策略。

如果禁用 auto_mode,模型会等待足够文本与分块计划匹配后才开始生成音频。

例如,如果将分块计划设为 125 个字符,但只收到 50 个字符,模型会等待更多字符到达,可能导致延迟增加。

有关实现细节,请参阅文本转语音 WebSocket 指南。

选择合适的音色

我们观察到,在某些情况下,音色选择会影响延迟。以下按速度从快到慢排列:

  1. 默认音色(原预制音色)、合成音色和即时语音克隆(IVC)
  2. 专业语音克隆(PVC)

更高音频质量的输出格式可能会增加延迟。请在延迟要求与音频保真度需求之间取得平衡。

我们正积极优化 Flash v2.5 的 PVC 延迟。

考虑地理位置邻近性

我们从多个区域提供模型服务,以便根据你的地理位置优化延迟。

例如,使用 Flash 模型和 WebSocket 时,根据所在位置可预期获得以下 TTFB 延迟:

区域TTFB
北美100-150ms
欧洲100-150ms
东南亚100-150ms
南亚150-200ms
东北亚150-200ms

可以检查 API 响应中的 x-region 标头,确认哪个后端区域正在处理请求。 目前使用的区域包括:美国、荷兰和新加坡。

企业版客户可使用专用的欧盟和印度数据驻留环境,确保服务器位置并获得低延迟。请联系销售代表,以接入数据驻留基础设施。

如需退出全球路由并始终使用美国服务器,请为 API 请求使用 api.us.elevenlabs.io 基础 URL:

import os
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
base_url="https://api.us.elevenlabs.io"
)

此前需要使用 api-global-preview.elevenlabs.io 基础 URL 才能选择加入全球服务器。现在已默认启用,无需再进行此操作。请将应用更新为直接使用 api.elevenlabs.io。