No description
  • Python 78.1%
  • TypeScript 16.6%
  • CSS 3.3%
  • JavaScript 1.1%
  • Shell 0.3%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ivan Gerasimov f24031b5b2 lct-08: каркас фронта, типизированный сокет, захват микрофона
Направление канала зашито в тип: у наблюдателя Out = never, отправить
нечего и нельзя; у преподавателя нет входящих. Разделение прав
архитектурное и на фронте тоже. Пока соединения нет, события не копятся:
истина на сервере, после переподключения придёт актуальное состояние.

Ресемплинг 48 → 16 кГц усредняет по окну выходного сэмпла: без фильтра
всё выше 8 кГц наложилось бы на речь и испортило распознавание. Проверено
числами: секунда звука — ровно 50 кадров по 320 сэмплов из 48 и 44.1 кГц,
помеха 15 кГц подавлена до 7.8%. Эхоподавление и автоусиление браузера
выключены: гарнитура эхо не даёт, а обработка портит речь для STT.

Бэкенд принимает бинарные кадры по тому же сокету, что и события; кадр
не того размера отбрасывается с одним предупреждением, а не 50 в секунду.

Логирование приложения не было настроено: uvicorn настраивает только
свои логгеры, и весь INFO модулей app.* молча терялся — нашлось, когда
в логе не оказалось строки о принятых кадрах.

make lesson запускает занятие и печатает ссылки на экраны — пульта
преподавателя ещё нет, а открыть АРМ курсанта без занятия не с чем.

Путь из браузера с живым микрофоном не проверен: нужен человек, шаги
записаны в карточке.
2026-09-17 14:19:38 +03:00
backend lct-08: каркас фронта, типизированный сокет, захват микрофона 2026-09-17 14:19:38 +03:00
frontend lct-08: каркас фронта, типизированный сокет, захват микрофона 2026-09-17 14:19:38 +03:00
scenarios lct-07 (без LLM): слот-автомат, персона, звонящий на заготовках, make repl 2026-09-17 13:57:43 +03:00
.env.example каркас: домен, генерация типов фронта, стенд и карточки задач 2026-09-15 19:35:03 +03:00
.gitattributes сборка: LF во всём репозитории 2026-09-15 19:35:23 +03:00
.gitignore каркас: домен, генерация типов фронта, стенд и карточки задач 2026-09-15 19:35:03 +03:00
docker-compose.yml каркас: домен, генерация типов фронта, стенд и карточки задач 2026-09-15 19:35:03 +03:00
Makefile lct-08: каркас фронта, типизированный сокет, захват микрофона 2026-09-17 14:19:38 +03:00