Производительность
Замеры осуществлялись разными людьми с помощью нашего бенчмарка на разных устройствах и разных интернет-соединениях. Вот результаты:
Real-Time Factor
< 1 - скорость обработки быстрее real-time.
Данные измерения получены для формата linear16 (raw PCM) без декодирования.При использовании сжатых форматов (opus, ogg-opus, mp3, aac и др.) к задержке добавляется 50–100 мс на декодирование в зависимости от кодека.Фактические значения latency зависят от скорости вашего интернет-соединения и могут отличаться.
Важно Все запросы требуют авторизации через токен, передаваемый в query-параметре.
Пример потоковой транскрибации
Подключение к WebSocket
Подключение к WebSocket
Установите WebSocket-соединение с указанием токена авторизации.URL для подключения:Параметры подключения:
Формат аудио для отправки:
- Поддерживаемые частоты: 8000, 16000, 22050, 32000, 44100, 48000 Hz
- Каналы: 1 (mono) или 2 (stereo)
- Рекомендуемый формат: linear16 (int16 PCM, little-endian)
Отправка аудио
Отправка аудио
Отправляйте аудиоданные как бинарные WebSocket-сообщения.
Совет Размер чанков может быть произвольным. Сервер буферизует данные и обрабатывает их блоками по 300ms.
Получение результатов
Получение результатов
Сервер отправляет промежуточные результаты по мере обработки аудио.Промежуточный результат (type: partial):
Финальное сообщение (type: final):При завершении сессии (отправка пустого сообщения или закрытие соединения):
Обработка ошибок
Обработка ошибок
При возникновении ошибок сервер отправляет сообщение с описанием проблемы.Сообщение об ошибке (type: error):Пример ошибки авторизации:Коды ошибок:
Коды закрытия WebSocket:
Полный пример с микрофоном
Полный пример с микрофоном
Пример потоковой транскрибации с микрофона в реальном времени.
Зависимости Для работы с микрофоном установите: pip install pyaudio websockets
Поддерживаемые кодеки
API поддерживает широкий спектр аудиокодеков. Для минимальной задержки рекомендуется использовать raw PCM форматы.Рекомендуемые форматы (минимальная задержка)
Рекомендуемые форматы (минимальная задержка)
Raw PCM форматы — без накладных расходов на декодирование:
Эти форматы обрабатываются напрямую без декодирования, что обеспечивает минимальную задержку.
Сжатые форматы
Сжатые форматы
Lossless:
Современные кодеки:
Lossy форматы:
Контейнерные форматы:
Телефонные кодеки
Телефонные кодеки
Для интеграции с телефонными системами поддерживаются узкополосные кодеки:
Телефонные кодеки оптимизированы для узкой полосы пропускания.
Рекомендуется использовать с
sample_rate=8000.Примеры интеграции с UI
Мы подготовили готовые примеры для интеграции потоковой транскрибации в ваше веб-приложение. Выберите пример для вашего фреймворка:Интеграция в браузер (JavaScript)
Интеграция в браузер (JavaScript)
Пример интеграции потоковой транскрибации в веб-приложение с использованием Web Audio API.HTML-разметка:
React компонент
React компонент
Готовый React-компонент для потоковой транскрибации.
Vue 3 компонент
Vue 3 компонент
Пример компонента для Vue 3 с Composition API.