diff --git a/AI_TODO.md b/AI_TODO.md index c1e892f..1efa9cb 100644 --- a/AI_TODO.md +++ b/AI_TODO.md @@ -117,14 +117,25 @@ CREATE TABLE IF NOT EXISTS user_grammar_weaknesses ( --- -### Этап 3: Режим «Аудирование на слух» (Listening & Dictation) -- [ ] **Скрытый режим тестирования**: - - Вопрос и варианты ответов озвучиваются нативно через браузерный `window.speechSynthesis` (0 сетевых запросов). - - Текст вопроса скрыт шторкой или кнопкой «Показать текст» (позволяет тренировать восприятие беглой английской речи на слух). -- [ ] **Аудио-диктант по ключевым предложениям**: +### Этап 3: 100% Оффлайн-озвучка и Аудирование (Piper TTS / Neural VITS) +- [ ] **Интеграция легковесного автономного движка Piper TTS**: + - Скомпилированный статический бинарник `piper` (< 15 МБ, чистый C++/ONNX, без зависимостей). + - Загрузка компактных оффлайн-моделей голосов в `models/voices/` (суммарно ~130 МБ): + - Английский (Natural US/UK): `en_US-lessac-medium.onnx` (~63 МБ). + - Русский (Естественный диктор): `ru_RU-dmitri-medium.onnx` (~65 МБ). + - Время генерации на CPU: ~0.5–1.0 сек на предложение (RTF ~0.2, в 5 раз быстрее реального времени). + - Потребление ОЗУ: ~150–200 МБ только во время синтеза с мгновенной выгрузкой. +- [ ] **Оффлайн-кэширование аудиофайлов (`data/audio_cache/`)**: + - Генерация имени по SHA-256 хешу текста и идентификатора голоса (`data/audio_cache/{hash}.wav`). + - Повторные запросы одного и того же предложения отдаются мгновенно за 0.05 мс из кэша. + - 0 байт сетевого трафика во внешнюю сеть — полная изоляция и автономность. +- [ ] **Скрытый режим тестирования (Listening Comprehension)**: + - Вопрос и варианты ответов озвучиваются нейросетью Piper. + - Текст вопроса скрыт шторкой или кнопкой «Показать текст» (тренировка восприятия беглой речи на слух). +- [ ] **Аудио-диктант по ключевым предложениям книги**: - Модель выбирает 3 ярких и грамматически богатых предложения из главы. - - Браузер диктует предложение, пользователь вводит его на слух. - - Сравнение ввода со сгенерированным оригиналом (подсветка пропущенных предлогов и окончаний). + - Piper озвучивает предложение живым голосом носителя, пользователь вводит его на слух. + - Подсветка пропущенных предлогов, окончаний и артиклей при проверке. ---