Розпізнавання мовлення з перекладом у реальному часі
Streaming-система, що слухає мовлення, розпізнає текст і перекладає на обрану мову. Побудовано на MMS та NLLB-200 — працює і на GPU, і на звичайному CPU.
Що вміє система
Повний цикл — від захоплення звуку до перекладеного тексту з пунктуацією.
Розпізнавання у реальному часі
Мікрофон → 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
Звук проходить шість етапів — кожен реалізований окремим модулем.
Фази розробки
Проект будувався поетапно — від MVP до production-готового API.
- Фаза 1
MVP
завершеноБазовий streaming STT українською. PyTorch inference.
Критерій: Pipeline працює, текст з'являється при говорінні.
- Фаза 2
Мультимовність
завершеноLanguage ID + NLLB переклад + абревіатури.
Критерій: Говориш uk → отримуєш en текст.
- Фаза 3
Оптимізація
завершеноONNX + INT8 + CTranslate2. GPU і CPU inference.
Критерій: CPU < 150 ms, GPU < 30 ms на чанк. ONNX дав 1.4x speedup.
- Фаза 4
Fine-tune
завершеноТренування на FLEURS + Common Voice (uk) на A100.
Критерій: Beam + KenLM WER 19.4% на українській.
- Фаза 5
Post-processing
завершеноKenLM, пунктуація, перевірка орфографії.
Критерій: WER < 12%, текст з розділовими знаками.
- Фаза 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.
- MMS-300M / 1B CTC
- MMS LID-126
- NLLB-200-distilled-600M
- PyTorch FP16
- ONNX Runtime INT8
- CTranslate2
- sounddevice
- webrtcvad
- torchaudio
- Greedy CTC
- Beam search
- KenLM 5-gram
- Python 3.10+
- FastAPI
- WebSocket
- Docker
Спробуй розпізнавання наживо
Увімкни мікрофон і подивись, як система перетворює мовлення на текст та переклад у реальному часі.
Відкрити демо