Содержание

Эфир

Голос

Для озвучивания ответов чата через custom TTS и для речи в реальном времени используются разные пути. Процесс голосового режима в реальном времени не входит в мост.

Озвучивание ответов чата через custom TTS

Настройте tts для озвучивания ответов чата через custom TTS. Укажите в tts.api_key_env переменную среды с ключом; в описанных сценариях настройки и развёртывания используется GOOGLE_API_KEY. Параметр limits.max_tts_seconds_per_day может ограничить суточное время озвучивания.

Речь в реальном времени

Запустите отдельный процесс голосового режима командой python3 packages/voice/realtime_bridge.py. Браузерный микрофон передаёт ему звук, а аватар нужно собрать с параметром VITE_REALTIME_URL. Звук ответа удерживается отдельно для каждого предложения, пока шлюз JEV не разрешит отправку. При DROP, REWRITE, тайм-ауте, недоступности шлюза или отсутствии расшифровки соответствующий звук отбрасывается. Браузер может отменить выполняющийся ответ для перебивания.

Задайте REALTIME_EVENTS_URL, чтобы передавать вердикты на страницу Voice панели управления; например, http://127.0.0.1:8440/api/voice. Передача событий выполняется по возможности и не задерживает воспроизведение.

Развёртывание через Docker

Комплект Docker для самостоятельного развёртывания включает мост, страницу аватара и панель управления, но не отдельный процесс голосового режима в реальном времени.