Vox — Text-to-Speech

Vox is Synth’s Text-to-Speech subsystem. It owns the full text → audio → dispatch → lip-sync pipeline: it turns a reply into spoken audio, hands it to the Karada state server so every connected client hears it, and drives lip-sync on the avatar.

The active engine is selected with ACTIVE_VOX_ENGINE, chosen from the Vox engine registry (core/vox_registry.py). Engines are hot-swappable.

Actions

Action

Purpose

tts_speak

Synthesize speech from text and broadcast it as playable avatar audio.

Per-language voice routing

VOX_LANGUAGE_OVERRIDES (a JSON map iso639-1 {engine, model, voice}) lets TTS use a different engine/model/voice per detected language. After lingua detects the reply language, Vox resolves the override via core/config.py::get_vox_language_override() and forwards the per-call model/voice. An explicit per-call engine_name always wins.

Configuration

Key

Purpose

ACTIVE_VOX_ENGINE

Active TTS engine.

VOX_LANGUAGE_OVERRIDES

Per-language engine/model/voice map.