指南

为 AI 语音智能体提供语音合成:快速又便宜的语音层

请注意:Supertonic 3 目前不支持中文,本文适用于其支持的 31 种语言。AI 语音智能体是一条链:语音识别把对方的话变成文字,语言模型写出回答,语音合成再把它说出来。最后一步决定了智能体听起来如何、感觉有多快,而在按字符计费时它往往是最大的开销。

SuperClonica 语音合成 API 正是为这一层打造的。按我们的测量,它最快约 300 毫秒开始流式返回音频,按时间而非字符计费,并能让智能体用目录中 190 种声音或你自己训练的声音说话。本指南介绍如何接入以及它的限制。

逐句朗读

不要等模型写完整个回答。以流的方式读取模型输出,在每句话结束处切开,每句完成后立即带上 "stream": true 发给语音合成 API。模型还在写下一句时,第一句已经开始播放。

句子越短,第一个声音越早到达。长篇独白同样可行:流式模式下,长文本会被分成多段,在多个 worker 上同时合成,并从第一段开始播放。

import os, requests
URL = "https://superclonica.com/api/v1/speech"
HEADERS = {"Authorization": "Bearer " + os.environ["SUPERCLONICA_KEY"]}
def say(sentence, voice="F1", language="en"):
    with requests.post(URL, headers=HEADERS, stream=True, timeout=120,
                       json={"text": sentence, "voice": voice, "language": language, "stream": True}) as answer:
        answer.raise_for_status()
        for chunk in answer.iter_content(4096):
            player.write(chunk)  # an Ogg player or decoder of your choice

可预期的延迟

按我们的测量,第一个声音在请求后约 300 毫秒到达,另加到服务器的网络时间。Ogg 会立即流式返回;mp3 和 wav 只有在文本超过约半分钟语音时才会流式返回,因此智能体请使用 Ogg。API 通过普通 HTTPS 分块响应:没有 WebSocket,每句话就是一次请求。

电话通话

电话通常需要 8 kHz μ-law 音频:例如 Twilio Media Streams 收发的是 8000 Hz 的 audio/x-mulaw。把 Ogg 流解码、重采样到 8 kHz 并编码为 μ-law 后再送入通话;关于为 Twilio 定制声音的指南展示了录制提示音的转换方法。

套餐如何限制智能体

套餐规定每个 10 分钟窗口内的音频秒数:每月 5 美元的入门套餐每个窗口 3 分钟,作者 8 分钟,专业版 20 分钟,工作室 65 分钟。这是你所有对话的语音总量,因此决定了能同时说话的通话数。智能体大约说通话时长的三分之一,所以入门套餐约够一条繁忙线路,专业版约五到六条。窗口用完时 API 返回 429 和 Retry-After;被拒绝或失败的请求不收费。

免费密钥每天提供 1 分钟音频,足够在付费前搭建并测试智能体。

选择声音

目录中的任何声音都能凭其页面上的 ID 在任何套餐下通过 API 使用。平静的朗读者和播音员声音适合客服,明亮的声音适合销售和游戏。先试听演示,并在各自页面上用两三个声音朗读同一句测试语进行比较。你也可以在网站上用自己的录音训练声音,例如品牌的声音。

Supertonic 3 支持 31 种语言,但暂不支持中文,也没有 SSML 和逐词时间戳;如果你的智能体需要这些,大型云端语音合成更合适。