STT backends
faster-whisper (default, local)
faster-whisper is a CTranslate2-optimized Whisper implementation. It runs on CPU or CUDA, requires no API key, and is completely local.
Start with
base. Models are downloaded automatically on first use.
Disable STT
TTS backends
NeuralCleave always tries ElevenLabs → Kokoro → pyttsx3, in that order, using whichever provider succeeds first (ElevenLabs is skipped automatically when no API key is configured).tts_engine only gates whether TTS is enabled at all (any value other than "none" turns it on) — it does not currently pin synthesis to one specific engine or change the try-order, despite the name. Setting it to "kokoro" or "pyttsx3" does not skip ElevenLabs if a key happens to be configured.
Kokoro (local, high quality)
Kokoro is an open-source neural TTS model. It runs on CPU and produces near-ElevenLabs quality without any API key.TTSEngine always uses its "af_sarah" default, and [voice] has no field that reaches it.
ElevenLabs (cloud, best quality)
pyttsx3 (local, system TTS)
Fallback that uses the OS text-to-speech engine. No install required.Disable TTS
Audio devices
Configure input/output devices to route audio correctly on systems with multiple devices:GET /api/v1/voice/devices.
Privacy note
Privacy mode (the in-chat/privacy on|off command) only affects text generation — it forces ModelRouter onto local-only models and has no effect on the voice pipeline at all. It does not force TTS to Kokoro or stop ElevenLabs from being used, and there is no privacy_mode entry in [voice] or anywhere else in config.py — it isn’t a config setting. To keep voice fully local today, don’t configure elevenlabs_api_key and leave tts_engine set to "kokoro" or "pyttsx3".