Skip to main content
Потоковый API предоставляет возможность транскрибации аудио в реальном времени через WebSocket-соединение. Результаты распознавания приходят по мере обработки аудио, что идеально подходит для live-транскрибации, голосовых интерфейсов и интерактивных приложений.

Производительность

Замеры осуществлялись разными людьми с помощью нашего бенчмарка на разных устройствах и разных интернет-соединениях. Вот результаты: Real-Time Factor < 1 - скорость обработки быстрее real-time.
Данные измерения получены для формата linear16 (raw PCM) без декодирования.При использовании сжатых форматов (opus, ogg-opus, mp3, aac и др.) к задержке добавляется 50–100 мс на декодирование в зависимости от кодека.Фактические значения latency зависят от скорости вашего интернет-соединения и могут отличаться.

Важно Все запросы требуют авторизации через токен, передаваемый в query-параметре.

Пример потоковой транскрибации

Установите WebSocket-соединение с указанием токена авторизации.URL для подключения:
Параметры подключения:Формат аудио для отправки:
  • Поддерживаемые частоты: 8000, 16000, 22050, 32000, 44100, 48000 Hz
  • Каналы: 1 (mono) или 2 (stereo)
  • Рекомендуемый формат: linear16 (int16 PCM, little-endian)
Для минимальной задержки используйте raw PCM форматы (linear16 или linear32). При использовании сжатых кодеков (opus, mp3 и др.) добавляется 50–100 мс на декодирование. Оптимальный размер отправляемого чанка — от 50 до 300 мс.
После успешного подключения сервер отправит сообщение с конфигурацией:
Отправляйте аудиоданные как бинарные WebSocket-сообщения.
Совет Размер чанков может быть произвольным. Сервер буферизует данные и обрабатывает их блоками по 300ms.
Сервер отправляет промежуточные результаты по мере обработки аудио.Промежуточный результат (type: partial):
Финальное сообщение (type: final):При завершении сессии (отправка пустого сообщения или закрытие соединения):
При возникновении ошибок сервер отправляет сообщение с описанием проблемы.Сообщение об ошибке (type: error):
Пример ошибки авторизации:
Коды ошибок:Коды закрытия WebSocket:
Пример потоковой транскрибации с микрофона в реальном времени.
Зависимости Для работы с микрофоном установите: pip install pyaudio websockets

Поддерживаемые кодеки

API поддерживает широкий спектр аудиокодеков. Для минимальной задержки рекомендуется использовать raw PCM форматы.
Raw PCM форматы — без накладных расходов на декодирование:Эти форматы обрабатываются напрямую без декодирования, что обеспечивает минимальную задержку.
Lossless:Современные кодеки:Lossy форматы:Контейнерные форматы:
Для интеграции с телефонными системами поддерживаются узкополосные кодеки:
Телефонные кодеки оптимизированы для узкой полосы пропускания. Рекомендуется использовать с sample_rate=8000.

Примеры интеграции с UI

Мы подготовили готовые примеры для интеграции потоковой транскрибации в ваше веб-приложение. Выберите пример для вашего фреймворка:
Пример интеграции потоковой транскрибации в веб-приложение с использованием Web Audio API.
HTML-разметка:
Готовый React-компонент для потоковой транскрибации.
Пример компонента для Vue 3 с Composition API.