Введение
Gradium выпустила два новых сервиса реального времени для голосового перевода: stt-translate (речь → текст) и s2s-translate (речь → речь). Оба работают в браузере через один двунаправленный WebSocket и поддерживают пять языков (английский, французский, немецкий, испанский, португальский) — всего 20 пар направлений.
Что делает каждый сервис?
stt-translate принимает аудио на одном из поддерживаемых языков и мгновенно возвращает перевод в виде текста на выбранный целевой язык. Транскрипция и перевод выполняются в одном проходе модели, без промежуточного текста.
s2s-translate объединяет stt-translate с генератором синтезированной речи, давая вам готовый аудиопоток в целевом языке и тот же перевод в виде текста. Всё управляется одной соединёнкой — никаких отдельных вызовов STT‑ и TTS‑моделей.
Как измеряется качество?
Gradium публикует два показателя:
- BLEU — классический метрик совпадения n‑грамм (чем выше, тем лучше).
- MetricX — нейронный оценщик, предсказывающий человеческую оценку (чем ниже ошибка, тем лучше).
Оба показателя нужны, потому что BLEU фиксируется на лексическом совпадении, а MetricX лучше отражает смысловую адекватность.
Бенчмарки
Тесты проведены на собственном наборе разговорного аудио (темы работы, путешествий, погоды). Сравнение с конкурентами:
- Средняя задержка s2s-translate — 3.0 с, против 3.6 с у
gpt-realtime-translateи 2.9 с уgemini-3.5-live-translate. - BLEU: Gradium опережает оба конкурента.
- MetricX: Gradium лучше
gemini-3.5-live-translate, сопоставим сgpt-realtime-translate. - Выбор голоса и клонирование собственного голоса доступны только у Gradium.
Почему две модели быстрее трёх?
Традиционный стек «речь → текст → перевод → речь» использует три отдельные модели, три обращения к сервису и три точки переключения данных. Gradium устраняет отдельный текстовый перевод: stt-translate сразу выдаёт уже переведённый текст. Таким образом сокращается одна модель, один запрос и один «ручной» переход, что в итоге даёт заметное улучшение латентности без потери качества.
Практические сценарии
- Live‑дублирование и локализация: один раз записываете голос диктора, а затем переводите его речь на несколько языков, сохранив характер голоса.
- Многоязычные голосовые агенты: клиент звонит на немецком, а оператор слышит перевод на английском в реальном времени, отвечая, после чего ответ сразу озвучивается на немецком.
- Синхронные встречи: каждый участник получает одновременно перевод речи и подписи на своём языке.
- Доступность: если нужен только текст, используйте
stt-translateбез генерации голоса.
Пример кода на Python
Ниже минимальный скрипт, который отправляет PCM‑аудио (24 kHz) и получает перевод и синтезированный звук (48 kHz).
import asyncio from gradium import client as gradium_clientgc = gradium_client.GradiumClient() # GRADIUM_API_KEY из переменных окружения
setup = { "model_name": "s2s-translate", "input_format": "pcm_24000", "output_format": "pcm_48000", "voice_id": "cLONiZ4hQ8VpQ4Sz", # голос в целевом языке "stt_model_name": "stt-translate", "tts_model_name": "default", "target_language": "en", }
with open("input_24k.pcm", "rb") as f: pcm = f.read()
async def main(): audio_chunks = [] async with gc.s2s_realtime(wait_for_ready_on_start=True, **setup) as s2s: async def send(): for i in range(0, len(pcm), 1920): # 40 мс порций await s2s.send_audio(pcm[i:i+1920]) await s2s.send_eos()
async def recv(): async for msg in s2s: if msg["type"] == "audio": audio_chunks.append(msg["audio"]) elif msg["type"] == "text": print(msg["text"], end=" ") elif msg["type"] == "end_of_stream": break async with asyncio.TaskGroup() as tg: tg.create_task(send()) tg.create_task(recv()) return b"".join(audio_chunks)translated = asyncio.run(main())
Сильные и слабые стороны
Сильные стороны
- Однопроходный
stt-translateустраняет лишний этап. - Лучшее качество BLEU и сопоставимое MetricX с ведущими решениями.
- Гибкая работа с голосами: выбор из каталога и клонирование собственного голоса.
- Единый двунаправленный WebSocket вместо нескольких соединений.
Слабые стороны
- Поддержка только пяти языков (на старте).
- Немного выше латентность, чем у
gemini-3.5-live-translate(2.9 с vs 3.0 с). - MetricX только сопоставим с
gpt-realtime-translate, а не опережает. - Бенчмарки проведены на проприетарном наборе данных, повторить их самостоятельно сложно.





















