Озвучка для голосовых ИИ-агентов: голосовой слой, быстрый и дешёвый
Голосовой ИИ-агент — это цепочка: распознавание речи превращает слова собеседника в текст, языковая модель пишет ответ, а синтез речи его произносит. Последний шаг решает, как агент звучит и насколько быстрым он кажется, а при оплате за символы он часто стоит дороже всего.
API озвучки SuperClonica сделан для этого слоя. Он отдаёт звук потоком от 300 мс в наших замерах, оплачивается по времени, а не по символам, и позволяет агенту говорить любым из 190 голосов каталога или голосом, который вы обучили сами. В этом руководстве — как его подключить и где его пределы.
Озвучивайте по предложениям
Не ждите, пока модель допишет весь ответ. Читайте её вывод потоком, режьте его на концах предложений и отправляйте каждое готовое предложение в API озвучки с "stream": true. Первое предложение звучит, пока модель ещё пишет следующее.
Короткие предложения дают первый звук раньше. Длинный монолог тоже работает: при потоковой озвучке длинный текст делится на куски, они озвучиваются на нескольких воркерах сразу и играют с первого куска.
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 кГц μ-law: например, Twilio Media Streams принимает и отдаёт audio/x-mulaw с частотой 8000 Гц. Декодируйте поток Ogg, пересэмплируйте в 8 кГц и закодируйте в μ-law, прежде чем отправлять в звонок; руководство о своих голосах для Twilio показывает такое преобразование для записанных подсказок.
Как тариф ограничивает агента
Тариф даёт секунды звука в каждом 10-минутном окне: «Старт» за $5 в месяц озвучивает 3 минуты в каждом окне, «Автор» — 8, «Про» — 20, «Студия» — 65. Это общая речь всех ваших разговоров вместе, поэтому она определяет, сколько звонков могут говорить одновременно. Агент говорит примерно треть звонка, так что «Старту» хватает примерно на одну загруженную линию, «Про» — на пять-шесть. Когда окно исчерпано, API отвечает 429 с Retry-After; за отклонённый или неудачный запрос ничего не списывается.
Бесплатный ключ даёт минуту звука в день — достаточно, чтобы собрать и проверить агента до оплаты.
Как выбрать голос
Любой голос каталога работает через API по ID со своей страницы, на любом тарифе. Спокойные голоса чтецов и дикторов подходят для поддержки, яркие — для продаж и игр. Сначала послушайте демо и озвучьте одну и ту же тестовую фразу двумя-тремя голосами на их страницах. Голос можно и обучить по своей записи на сайте — например, голос вашего бренда.
Supertonic 3 говорит на 31 языке, но пока не на китайском, и в нём нет SSML и временных меток слов; если они нужны агенту, лучше подойдёт крупный облачный синтез.