MVP-стенд. Исходный код открыт для ознакомления.
Auditorica — система для автоматизации учебного процесса в университетах с гибридным форматом (аудитория + онлайн). Пара записывается с нескольких камер и микрофонного массива, после чего проходит через ML-пайплайн: распознавание речи, диаризация, детект стоп-слов. Результат доступен студентам и преподавателям через веб-интерфейс с плеером, транскриптом и полнотекстовым поиском.
Сессия открыта в просмотрщике. Слева — список сессий с их статусами (ready / processing). По центру — плеер с синхронизированным транскриптом. Справа — панель модерации стоп-слов с групповыми действиями.
Полнотекстовый поиск по транскрипту с переходом к таймкоду в плеере. Внизу справа — append-only аудит-журнал системных и пользовательских действий.
| Область | Реализовано |
|---|---|
| Запись | Поддержка 2–3 камер + аудио; Edge-терминал работает без интернета (store-and-forward) |
| ASR | Пост-фактум транскрипция на русском языке — Whisper large-v3-turbo через OpenAI API |
| Диаризация | Разделение по спикерам — pyannote/speaker-diarization-3.1 + NeMo (out-of-process микросервис) |
| Стоп-слова | Авто-детект матов/нежелательных слов → модератор подтверждает/отклоняет («человек в контуре») |
| Аудит | Append-only журнал всех действий; студентам виден «факт + причина» по каждой правке |
| Поиск | Полнотекстовый поиск по транскрипту с переходом на таймкод в плеере |
| RBAC | Роли: студент / преподаватель / администратор / деканат; видимость данных по ролям |
| Посещаемость | Базовый механизм + ручная верификация по видео |
Терминал аудитории (Edge)
└─ 2–3 камеры + аудио → Local Storage Buffer → Uploader (resumable chunks)
│
Backend (Go)
API Gateway / Auth (RBAC) / Orchestrator
│
┌─────────────┴─────────────┐
Processing Pipeline Object Storage
ASR (Whisper) Metadata DB
Диаризация (pyannote/NeMo) Audit Log
Стоп-слова Search Index
Транскодинг (FFmpeg)
│
Web Viewer (TypeScript)
Плеер / Транскрипт / Поиск / Модерация
Подробная архитектура с диаграммами — в doc/design-doc.md.
| Слой | Технологии |
|---|---|
| Backend / Edge | Go (API, оркестрация, control plane, store-and-forward) |
| ML Pipeline | Python — Whisper, pyannote, NeMo (как отдельный HTTP-микросервис) |
| Web UI | TypeScript, Vite, Vitest |
| CI | PowerShell-раннер (run.ps1), GitHub Actions |
- Go ≥ 1.25
- Python ≥ 3.12
- Node.js ≥ 24
cd backend
go test ./...python -m venv .venv
.venv/Scripts/Activate.ps1
python -m pip install -U pip
python -m pip install -e .\processing[dev]
pytest -qcd web
npm install
npm run typecheck
npm run lint
npm run testСкопируй .env.example в .env и заполни:
# HuggingFace токен — нужен для загрузки pyannote моделей
HF_TOKEN=hf_...MVP-стенд, разработка остановлена. Реализованы:
- Processing pipeline (ASR + диаризация + стоп-слова + транскодинг)
- Backend API (Go) с оркестрацией пайплайна
- Web Viewer с плеером, транскриптом, поиском и модерацией стоп-слов
- Аудит-журнал (append-only)
- NeMo-микросервис (out-of-process диаризация)
- Локальный CI с coverage, lint, security-проверками
- Edge-терминал (архитектура описана, запись не реализована)
- Идентификация студентов по лицу/голосу
- Полная интеграция с LMS
Код открыт для ознакомления. Все права защищены.

