Фаза 6 — Production

Розпізнавання мовлення з перекладом у реальному часі

Streaming-система, що слухає мовлення, розпізнає текст і перекладає на обрану мову. Побудовано на MMS та NLLB-200 — працює і на GPU, і на звичайному CPU.

🇺🇦Українська🇷🇺Русский🇬🇧English🇩🇪Deutsch🇵🇱Polski

Що вміє система

Повний цикл — від захоплення звуку до перекладеного тексту з пунктуацією.

Розпізнавання у реальному часі

Мікрофон → VAD → ASR. Текст з'являється під час говоріння, без очікування кінця фрази.

Мультимовність

5 мов із коробки (uk, ru, en, de, pl). Автоматичне визначення мови через MMS LID-126.

Переклад на льоту

NLLB-200 перекладає розпізнаний текст на будь-яку target-мову одразу після фрази.

GPU та CPU

PyTorch FP16 на GPU, ONNX Runtime INT8 та CTranslate2 на CPU. Працює навіть без відеокарти.

Обробка абревіатур

STT, API, GPU та інші скорочення розпізнаються та відновлюються коректно.

Пунктуація та орфографія

Post-processing додає розділові знаки, виправляє орфографію та застосовує KenLM 5-gram.

Як працює pipeline

Звук проходить шість етапів — кожен реалізований окремим модулем.

01
Аудіо
sounddevice · 16 kHz
02
VAD
webrtcvad
03
ASR
MMS-1B CTC
04
Декодер
Beam search + KenLM
05
Post-proc
Пунктуація · орфографія
06
Переклад
NLLB-200
19.4%
Найкращий WER
Beam search + KenLM
5
Підтримка мов
uk · ru · en · de · pl
1.4×
ONNX speedup
проти PyTorch на CPU
<150ms
CPU inference
на чанк, INT8

Фази розробки

Проект будувався поетапно — від MVP до production-готового API.

  1. Фаза 1

    MVP

    завершено

    Базовий streaming STT українською. PyTorch inference.

    Критерій: Pipeline працює, текст з'являється при говорінні.

  2. Фаза 2

    Мультимовність

    завершено

    Language ID + NLLB переклад + абревіатури.

    Критерій: Говориш uk → отримуєш en текст.

  3. Фаза 3

    Оптимізація

    завершено

    ONNX + INT8 + CTranslate2. GPU і CPU inference.

    Критерій: CPU < 150 ms, GPU < 30 ms на чанк. ONNX дав 1.4x speedup.

  4. Фаза 4

    Fine-tune

    завершено

    Тренування на FLEURS + Common Voice (uk) на A100.

    Критерій: Beam + KenLM WER 19.4% на українській.

  5. Фаза 5

    Post-processing

    завершено

    KenLM, пунктуація, перевірка орфографії.

    Критерій: WER < 12%, текст з розділовими знаками.

  6. Фаза 6

    Production

    у роботі

    WebSocket API (FastAPI), Docker, деплой.

    Критерій: docker run і працює на будь-якому сервері.

Fine-tuned моделі

Чотири ітерації донавчання на FLEURS та Common Voice (uk). Опубліковані на HuggingFace.

Найкращий результат (Beam search + KenLM): 19.4% WER на українській.

Стек технологій

Open-source моделі Meta та інструменти для GPU/CPU inference.

ASR
  • MMS-300M / 1B CTC
  • MMS LID-126
Переклад
  • NLLB-200-distilled-600M
Inference
  • PyTorch FP16
  • ONNX Runtime INT8
  • CTranslate2
Аудіо
  • sounddevice
  • webrtcvad
  • torchaudio
Декодер
  • Greedy CTC
  • Beam search
  • KenLM 5-gram
Backend
  • Python 3.10+
  • FastAPI
  • WebSocket
  • Docker

Спробуй розпізнавання наживо

Увімкни мікрофон і подивись, як система перетворює мовлення на текст та переклад у реальному часі.

Відкрити демо
Multilingual STT — speech recognition with translation