lct-08: каркас фронта, типизированный сокет, захват микрофона
Направление канала зашито в тип: у наблюдателя Out = never, отправить нечего и нельзя; у преподавателя нет входящих. Разделение прав архитектурное и на фронте тоже. Пока соединения нет, события не копятся: истина на сервере, после переподключения придёт актуальное состояние. Ресемплинг 48 → 16 кГц усредняет по окну выходного сэмпла: без фильтра всё выше 8 кГц наложилось бы на речь и испортило распознавание. Проверено числами: секунда звука — ровно 50 кадров по 320 сэмплов из 48 и 44.1 кГц, помеха 15 кГц подавлена до 7.8%. Эхоподавление и автоусиление браузера выключены: гарнитура эхо не даёт, а обработка портит речь для STT. Бэкенд принимает бинарные кадры по тому же сокету, что и события; кадр не того размера отбрасывается с одним предупреждением, а не 50 в секунду. Логирование приложения не было настроено: uvicorn настраивает только свои логгеры, и весь INFO модулей app.* молча терялся — нашлось, когда в логе не оказалось строки о принятых кадрах. make lesson запускает занятие и печатает ссылки на экраны — пульта преподавателя ещё нет, а открыть АРМ курсанта без занятия не с чем. Путь из браузера с живым микрофоном не проверен: нужен человек, шаги записаны в карточке.
This commit is contained in:
parent
f01f2dab76
commit
f24031b5b2
21 changed files with 594 additions and 4 deletions
5
Makefile
5
Makefile
|
|
@ -36,6 +36,9 @@ models: ## Скачать модели в backend/models/ (сейчас — эм
|
|||
seed: ## Залить сценарии из /scenarios в БД
|
||||
cd backend && $(UV) run python scripts/seed.py
|
||||
|
||||
lesson: ## Запустить занятие и напечатать ссылки: make lesson s=<сценарий> m=<режим>
|
||||
cd backend && $(UV) run --no-project --with websockets python scripts/start_lesson.py "$(s)" "$(m)"
|
||||
|
||||
migrate: ## Накатить миграции
|
||||
cd backend && $(UV) run alembic upgrade head
|
||||
|
||||
|
|
@ -51,4 +54,4 @@ pregen: ## Дерево диалога и WAV первых реплик для
|
|||
demo: ## Поднять всё в демо-режиме: офлайн, прогретые модели
|
||||
@echo "не реализовано — карточка tasks/lct-21-demo-readiness.md"; exit 1
|
||||
|
||||
.PHONY: help dev down back front types test typecheck migrate revision models seed repl pregen demo
|
||||
.PHONY: help dev down back front types test typecheck lesson migrate revision models seed repl pregen demo
|
||||
|
|
|
|||
Loading…
Reference in a new issue