减少流式传输延迟的七种方法(按有效性从高到低的顺序排列):
我们先进的 Eleven Turbo v2 非常适合要求极低延迟的任务。新的 Turbo model_id 是eleven_turbo_v2
。常规端点在响应中返回音频文件之前先渲染该音频文件。流端点在生成音频时流回音频,从而大大缩短从请求到收到音频第一个字节的响应时间。因此,对于需要低延迟的应用程序,建议使用流端点。对于可以将文本提示流式传输到文本转语音端点(例如 LLM 输出)的应用程序,这允许在生成语音时将提示馈送到端点。使用 websocket 时,您还可以配置流块大小,较小的块通常渲染速度更快。因此,我们建议逐字发送内容,我们的模型和工具利用上下文来确保句子结构和更多内容保留到生成的音频中,即使我们一次只收到一个单词。4.增加optimize_streaming_latency
查询参数#
流和 websockets 端点的此查询参数配置渲染过程以牺牲一些音频质量以减少延迟。企业客户在渲染队列中获得最高优先级,这确保他们始终体验尽可能最低的延迟,无论模型使用负载如何。6. 使用预制和合成声音而不是声音克隆#
预制和合成语音生成语音的速度比即时语音克隆更快。专业语音克隆在所有语音类型中具有最高的延迟,不建议用于低延迟应用。7. 流式传输时重用 HTTPS 会话#
通过 websocket 进行流式传输时,重用已建立的 SSL/TLS 会话有助于通过跳过握手过程来减少延迟。这改善了会话第一次之后所有请求的延迟。7a. 限制Websocket连接关闭的数量#
同样,对于 Websocket,我们利用 WSS 协议,因此在连接开始时会发生 SSL/TLS 握手,这会增加开销。因此,我们建议尽可能限制连接关闭和重新打开的次数。8.利用距离美国更近的服务器#
如今,我们的 API 由美国提供服务,因此用户在与美国境外的这些 API 进行通信时可能会因网络路由增加而遇到延迟。