Этап 2: озвучка ответов через Silero

- Потоковая озвучка: ответ режется на фразы, синтез и воспроизведение в отдельных потоках
- Подготовка текста: числа словами, без markdown, ссылок и блоков кода
- Модель Silero скачивается в LOCALAPPDATA и прогревается при старте
- Состояние «говорю», переключатель озвучки в трее, «Стоп» прерывает речь
- Тесты нарезки текста и оркестратора озвучки

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nid
2026-09-17 03:20:07 +03:00
co-authored by Claude Opus 5
parent 7933613234
commit fec52dd1c2
19 changed files with 1512 additions and 18 deletions
+6 -1
View File
@@ -4,7 +4,8 @@
- LLM: локальные модели (Ollama, LM Studio, llama.cpp) или OpenRouter — через единый OpenAI-совместимый API
- Текстовый чат со стримингом ответа
- В планах: голосовой ввод (faster-whisper), озвучка ответов (Silero), слово активации
- Озвучка ответов голосом Silero: фразы проговариваются по мере генерации, блоки кода пропускаются
- В планах: голосовой ввод (faster-whisper), слово активации
## Запуск
@@ -29,6 +30,10 @@ llm:
Для Ollama достаточно запустить сервер и скачать модель: `ollama pull qwen2.5:7b`.
Модель Silero (~145 МБ) скачивается при первом запуске в `%LOCALAPPDATA%\agr-assistent\models`.
Голос и модель задаются в секции `tts` конфига; озвучку можно выключить в меню значка.
Silero читает только кириллицу: числа переводятся в слова, латиница пропускается.
Закрытие окна сворачивает приложение в трей. Клик по значку открывает чат, в меню значка —
переключение провайдера, новый диалог и выход.