Engine Selection

May 25, 2026 ยท View on GitHub

RealtimeTTS supports local engines, cloud engines, free-service wrappers, and experimental local voice-cloning stacks. Pick the smallest engine that matches your latency, quality, licensing, and deployment needs.

Status on this page is documentation status, not a guarantee of support level. Each current concrete engine source now has a focused page under docs/engines/.

Fast Choices

NeedStart with
Verify local audio quicklySystemEngine
Free simple service, no API keyGTTSEngine or EdgeEngine
Commercial cloud APIOpenAIEngine, AzureEngine, ElevenlabsEngine, CartesiaEngine, MiniMaxEngine, CambEngine, or ModelsLabEngine
Word timingsAzureEngine; KokoroEngine for supported English voices
Local neural voice cloningCoquiEngine, ZipVoiceEngine, OmniVoiceEngine, FasterQwenEngine, LuxTTSEngine, ChatterboxEngine, SoproTTSEngine, PocketTTSEngine, PocketTTSGpuEngine, NeuTTSEngine, or MossTTSEngine
Reliability fallbackPass a list of compatible engines to TextToAudioStream

Engine Matrix

EngineTypeInstall path observedNeedsOutput/playback notes
SystemEngineLocal system TTSrealtimetts[system]System voicesPCM through PyAudio.
GTTSEngineFree service wrapperrealtimetts[gtts]Network accessService-backed behavior; no API key.
EdgeEngineFree service wrapperrealtimetts[edge]Network access, mpvCompressed audio path through mpv.
OpenAIEngineCloud APIrealtimetts[openai]OPENAI_API_KEYMP3 uses mpv; PCM uses PyAudio.
AzureEngineCloud APIrealtimetts[azure]Constructor key and regionPCM through PyAudio; word timings supported.
ElevenlabsEngineCloud APIrealtimetts[elevenlabs]ELEVENLABS_API_KEY, mpvMPEG audio path through mpv.
CambEngineCloud APIrealtimetts[camb]CAMB_API_KEYAPI-backed multilingual synthesis.
MiniMaxEngineCloud APIrealtimetts[minimax]MINIMAX_API_KEY, mpvMP3 output, pytest coverage exists.
CartesiaEngineCloud APIrealtimetts[cartesia]CARTESIA_API_KEYRaw PCM formats in source.
ModelsLabEngineCloud APIrealtimetts[modelslab]MODELSLAB_API_KEY, mpvPresent in engines package, not root export.
CoquiEngineLocal neuralrealtimetts[coqui]Local model files, likely GPUVoice cloning; call shutdown() in scripts.
PiperEngineLocal executablerealtimetts[piper] plus Piper binaryPiper binary, model/config filesVery practical for local deployment; uses PIPER_PATH.
StyleTTSEngineLocal neuralrealtimetts[styletts] plus StyleTTS2 checkoutStyleTTS2 checkout/model assetsLocal voice/reference-audio workflow.
ParlerEngineLocal neuralrealtimetts[parler]Parler stack, GPU recommendedHeavy local model setup.
KokoroEngineLocal neuralrealtimetts[kokoro] plus language extrasOptional jp, zh, ko extrasWord timings for supported English voices.
OrpheusEngineLocal/API-stylerealtimetts[orpheus]OpenAI-compatible endpoint or local model stackLM Studio path documented from Zaphod notes.
FasterQwenEngineLocal neuralrealtimetts[qwen]Faster Qwen3 stack, reference audioVoice cloning and emotion examples exist.
OmniVoiceEngineLocal neuralrealtimetts[omnivoice]OmniVoice stack, reference audio/textMultilingual voice cloning.
PocketTTSEngine / PocketTTSGpuEngineLocal lightweightrealtimetts[pockettts], or realtimetts[pockettts-gpu] plus CUDA PyTorch and the pinned GPU forkpocket-tts package or CUDA forkCPU-oriented voice cloning path plus optional CUDA fork engine.
NeuTTSEngineLocal neuralrealtimetts[neutts], optional neutts-ggufneutts[llama,onnx] for GGUF streamingVoice cloning with reference audio.
ZipVoiceEngineLocal neuralrealtimetts[zipvoice] plus checkoutZipVoice checkout/assets or Docker exampleUse distill with at least 3 steps for fast quality work.
LuxTTSEngineLocal neuralrealtimetts[luxtts]LuxTTS stack and model assetsFull-waveform local voice cloning.
ChatterboxEngineLocal neuralrealtimetts[chatterbox]chatterbox-tts, reference WAVFull-waveform prompt-audio workflow.
SoproTTSEngineLocal neuralrealtimetts[sopro]Sopro package, optional HF cacheNative streaming reference-audio workflow.
SopranoEngineLocal neuralrealtimetts[soprano]Soprano package/model assetsSingle-voice English streaming.
MossTTSEngineLocal neuralrealtimetts[moss] plus runtime assetsMOSS-TTS-Nano assets, CUDA/CUDNN depending on backendNano ONNX/torch paths documented; Realtime variant blocked.

Fallback Engines

You can pass a list of engines. RealtimeTTS starts with the first one and can switch when synthesis fails.

from RealtimeTTS import TextToAudioStream, SystemEngine, GTTSEngine


if __name__ == "__main__":
    stream = TextToAudioStream([GTTSEngine(), SystemEngine()])
    stream.feed("Try one engine, then fall back if needed.")
    stream.play()

Fallbacks work best when engines accept compatible text, voices, and output expectations. Avoid mixing engines that require unrelated voice objects unless you handle voice selection per engine.

Licensing

The RealtimeTTS source is MIT licensed, but engine providers, model weights, voice data, and generated audio can carry separate restrictions. Check provider terms before commercial use.