Self-Hosted TTS in 2026: Run Your Own AI Voice Server
- self-hosted
- tts
- guide
- open-source
- local
- deployment
Cloud TTS APIs like ElevenLabs, Google Cloud TTS, and Azure Speech are powerful — but they cost per character, require internet, and send your text to third-party servers.
Running TTS on your own hardware changes those trade-offs. It can remove a per-request provider bill and keep inference inside an environment you control, but hardware, electricity, engineering, updates, storage, access controls, and review remain real costs. Network behavior also depends on the application, dependencies, model downloader, telemetry, and deployment configuration.
This guide covers a representative set of self-hosted TTS engines you can evaluate on a personal PC or server in 2026—from a single pip install to Docker deployments with consented voice cloning. It is not an exhaustive registry.
Quick Reference
| TTS Engine | Quality | GPU Needed | Install | License | Voice Cloning | Languages | Parameter Count |
|---|---|---|---|---|---|---|---|
| Kokoro 82M | ★★★★☆ | No | pip install kokoro | Apache 2.0 | ❌ | 9 | 82M |
| Piper | ★★★☆☆ | No | pip install piper-tts | MIT / GPL | ❌ | 20+ | Varies |
| MeloTTS | ★★★★☆ | No | pip install MeloTTS | MIT | ❌ | 6 | Small |
| F5-TTS | ★★★★☆ | Recommended | pip install f5-tts | CC-BY-NC | ✅ (5s) | 4 | 330M |
| CosyVoice 2/3 | ★★★★★ | Recommended | git clone + pip | Apache 2.0 | ✅ Zero-shot | 9+18 dialects | 0.5B |
| Fish Speech 1.6 | ★★★★★ | Recommended | pip install fish-speech | CC-BY-NC-SA | ✅ (10s) | 13 | 500M |
| Zonos/Zonos2 | ★★★★★ | Yes (GPU) | pip install zonos | Apache 2.0 | ✅ | 8 | 1.6B / 8B |
| ChatTTS | ★★★★☆ | Recommended | pip install chattts | CC-BY-NC | ❌ | 2 | ~400M |
| GPT-SoVITS | ★★★★★ | Yes (GPU) | git clone + webui | MIT | ✅ (5s) | 4 | ~1B |
| Chatterbox | ★★★★★ | Yes (GPU) | pip install chatterbox | MIT | ✅ Zero-shot | 5 | ~1B |
| OuteTTS | ★★★★☆ | Optional | pip install outetts | Apache 2.0 | ✅ | 4 | 0.6B / 1B |
| Edge-TTS | ★★★☆☆ | No | pip install edge-tts | MIT | ❌ | 100+ | (Cloud via Edge) |
Tier 1: Lightweight — Runs on CPU, No GPU Required
These engines run comfortably on any modern PC with just a CPU. Ideal for quick setups, batch processing, and always-on home servers.
Kokoro TTS — Best Quality-to-Size Ratio
Kokoro is a compact 82-million-parameter option whose model card lists Apache-2.0. That license is permissive, but users must still review voice assets, dependencies, source-text rights, and the proposed use. Quality should be established with the project’s own scripts and listeners rather than an undocumented MOS range.
pip install kokoro
from kokoro import KPipeline
pipeline = KPipeline(lang_code='a') # American English
for gsps, ps, audio in pipeline("Hello, this is a self-hosted TTS test.", voice='af_heart'):
# audio is a numpy array — save to WAV, stream, or process
pass
Key facts:
- 54 voices across American English, British English, Japanese, Mandarin Chinese, Spanish, French, Hindi, Italian, and Brazilian Portuguese
- CPU-capable — measure real-time factor on the target processor, model revision, text, and runtime
- Apache 2.0 — commercial use, no restrictions
- ONNX-based — can be optimized with onnxruntime for GPU if desired
- FastAPI server available: fastkokoro gives you an OpenAI-compatible TTS API endpoint
Best for: Batch audio generation, home server TTS API, audiobook production, integration into local apps.
Piper TTS — The Raspberry Pi Champion
Piper is the fastest neural TTS engine for CPU inference. Originally developed by the Rhasspy team for Home Assistant, it’s now maintained by the Open Home Foundation.
pip install piper-tts
echo "Local TTS on your own hardware." | piper \
--model en_US-libritts_r-medium \
--output-raw | aplay --rate 22050 --format FLOAT32
Key facts:
- 900+ English voices, plus multilingual support
- 22kHz output, optimized for speed over fidelity
- Designed for constrained CPU deployments — benchmark the selected Piper voice and current runtime on the exact board
- Licensing note: Original rhasspy/piper (MIT) was archived in Oct 2025. Active fork is OHF-Voice/piper1-gpl (GPL-3.0). The old MIT voices/weights remain usable.
- Wyoming Protocol — integrates natively with Home Assistant
Best for: Home Assistant voice pipelines, embedded systems, CLI workflows, accessibility tools.
MeloTTS — Fast Multilingual CPU TTS
MeloTTS by MIT and MyShell.ai is designed for real-time CPU inference with multilingual support. Very easy to install:
pip install MeloTTS
from melo.api import TTS
model = TTS(language='EN')
model.tts_to_file("Self-hosted TTS is easy.", speaker_id=0, output_path='output.wav')
Key facts:
- Supports English, Mandarin Chinese, Japanese, Korean, French, Spanish
- Mixed Chinese/English support
- Real-time CPU inference on modern laptops
- Very small model footprint
Best for: Multilingual TTS on CPU-only hardware, quick prototyping, language learning tools.
Edge-TTS — Microsoft’s TTS, Locally
Edge-TTS is a Python library that taps into Microsoft Edge’s online TTS service. Technically it needs internet for each request, but it’s the easiest way to get 100+ high-quality voices across dozens of languages with zero model download and zero character limits.
pip install edge-tts
edge-tts --text "Hello from self-hosted TTS" --voice en-US-JennyNeural --write-media output.mp3
Key facts:
- 100+ voices across 50+ languages
- No GPU needed, no model downloads
- Requires internet — it calls Microsoft’s servers (not truly offline)
- Self-operated — no hosted API key or provider quota, while compute and service limits are controlled by the operator
Best for: Quick TTS on any machine, when you want wide language coverage and don’t need absolute privacy.
Tier 2: GPU Recommended — Higher Quality & Voice Cloning
These engines benefit significantly from a GPU (NVIDIA with 6GB+ VRAM recommended), but many still work on CPU at reduced speed.
F5-TTS — Zero-Shot Voice Cloning
F5-TTS uses flow matching to generate speech from a reference clip. Repository popularity and model capabilities change; verify the current license, model card, supported languages, and reference-audio requirements before evaluation. Use only recordings covered by informed consent.
pip install f5-tts
# Launch the Gradio WebUI
f5-tts_infer-gradio --port 7860 --host 0.0.0.0
Or via Docker:
docker run -it --gpus=all -p 7860:7860 ghcr.io/swivid/f5-tts:main
Key facts:
- Zero-shot voice cloning from 5 seconds of audio
- Multilingual — English, Chinese, Japanese, Korean
- 330M parameters — efficient for the quality
- Gradio WebUI included for easy testing
- License: CC-BY-NC 4.0 (non-commercial — fine for personal use)
Best for: Voice cloning experiments, audiobook character voices, custom TTS for personal projects.
CosyVoice 2 & 3 — Alibaba’s Streaming TTS
CosyVoice by Alibaba’s FunAudioLLM team is a top-tier multilingual TTS system with support for streaming, zero-shot voice cloning, and emotion control. CosyVoice 3 (0.5B params, Dec 2025) added 18 Chinese dialects alongside 9 languages.
git clone https://github.com/QwenAudio/CosyVoice
cd CosyVoice
pip install -r requirements.txt
# Download model from ModelScope
python -c "from modelscope import snapshot_download; snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/CosyVoice3-0.5B')"
# Run inference
python webui.py --port 8000
Key facts:
- 9 languages + 18 Chinese dialects (CosyVoice 3)
- Zero-shot voice cloning from a short reference
- Streaming mode — near-lossless streaming synthesis
- Apache 2.0 license — permissive
- 0.5B parameters — relatively compact for the quality
- Instruct TTS — control style, emotion, and speaking rate via text prompts
Best for: High-quality multilingual TTS, Chinese-focused applications, streaming voice applications.
Fish Speech 1.6 — Multilingual SOTA
Fish Speech by Fish Audio is trained on over 1 million hours of multilingual data. Version 1.6 added emotion tagging and improved expressiveness.
pip install fish-speech
# Download model
huggingface-cli download fishaudio/fish-speech-1.6 --local-dir ./fish-speech-1.6
# CLI inference
python tools/tts.py --text "Hello, this is Fish Speech." --output output.wav
Key facts:
- 13 languages — broad multilingual support
- Voice cloning from 10 seconds of audio
- Emotion tags — control emotion through text markup
- 200K+ community voices available through their voice library
- License: CC-BY-NC-SA 4.0 (non-commercial, share-alike)
Best for: Expressive multilingual TTS, podcast/dubbing projects, voice cloning with minimal samples.
Zonos & Zonos2 — The ElevenLabs Rival
Zonos by Zyphra (Apache 2.0) was trained on 200K+ hours of multilingual speech. Its successor Zonos2 (8B parameters, June 2026) introduced a Mixture-of-Experts architecture and achieves quality competitive with top proprietary TTS providers.
# Zonos v0.1
pip install zonos
# Zonos2 — larger, better quality
git clone https://github.com/Zyphra/Zonos2
cd Zonos2
pip install -r requirements.txt
# Zonos2 supports GGUF for CPU inference
python infer.py --model Zonos2-8B --text "Self-hosted TTS at its best."
Key facts:
- Apache 2.0 license — free for any use
- Zonos2 (8B MoE) — competitive with ElevenLabs Turbo v2 in quality
- Voice cloning built in
- Docker support for easy deployment
- GGUF support in Zonos2 for CPU + cross-platform inference
- Mini-SGLang inference server for high-throughput production
Hardware: Zonos v0.1 needs ~4GB VRAM. Zonos2 8B needs 16GB+ VRAM at FP16, or use the GGUF quantized version for CPU.
Best for: Production-quality self-hosted TTS, when you want ElevenLabs-level quality on your own hardware.
Tier 3: Specialist Tools — Dialog, Cloning, GGUF
ChatTTS — Conversational Speech
ChatTTS is designed specifically for dialogue scenarios — think LLM assistant voices, conversational audio, and natural-sounding back-and-forth.
pip install chattts
# Python API
from chattts import ChatTTS
chat = ChatTTS()
chat.load_models()
chat.infer("Hello! How can I help you today?", output_path="hello.wav")
Key facts:
- Optimized for dialogue — natural prosody for conversational text
- ~500M parameters
- Emotion and intonation control
- CC-BY-NC license
- CPU + GPU support
Best for: LLM voice assistants, chatbot voice, dialogue audio.
GPT-SoVITS — The Voice Cloning Powerhouse
GPT-SoVITS combines a GPT-style text encoder with SoVITS voice synthesis and has a large public repository community. Star counts are a dated popularity signal, not evidence of output quality, safety, license suitability, or production support.
git clone https://github.com/RVC-Boss/GPT-SoVITS
cd GPT-SoVITS
pip install -r requirements.txt
# Launch the WebUI
python webui.py --port 9874
Key facts:
- Zero-shot cloning from 5 seconds of audio
- Few-shot fine-tuning with just 1 minute of training data
- Multilingual — Chinese, English, Japanese, Korean
- All-in-one WebUI — training, inference, voice mixing
- MIT license for the framework code
- GPU recommended (RTX 3060+)
Best for: Voice cloning projects, character voice creation, Chinese/English bilingual TTS.
Chatterbox — Zero-shot Cloning, MIT Licensed
Chatterbox by Resemble AI is a newer entrant with a permissive MIT license and zero-shot voice cloning.
pip install chatterbox
Key facts:
- MIT license — commercially friendly
- Zero-shot voice cloning from reference clip
- Multilingual support
- Fast inference on modern GPUs
- Gradio interface included
Best for: Commercial projects needing voice cloning, production TTS pipelines.
OuteTTS — Llama-based TTS with GGUF
OuteTTS is built on a Llama 3.2 architecture (0.6B or 1B parameters) and supports GGUF quantization, meaning it runs via llama.cpp for CPU inference.
pip install outetts
# Or via llama.cpp
llama-tts --model OuteTTS-1.0-0.6B-Q4_K_M.gguf \
--vocoder WavTokenizer-Large-75-Q4_0.gguf \
--prompt "Hello, this is OuteTTS." \
--output output.wav
Key facts:
- GGUF support — runs on CPU via llama.cpp
- Apache 2.0 license
- Speaker cloning from reference audio
- Very long text support — automatic text splitting
- Llama-server compatible for API deployment
Best for: CPU-only deployments, llama.cpp users, systems already running GGUF models.
Deployment Architectures
Docker: One-Command Deployments
Most modern TTS engines offer Docker images. Here’s a comparison:
| Engine | Docker Image | Port | GPU Support |
|---|---|---|---|
| Kokoro | ghcr.io/remsky/kokoro-fastapi | 8880 | Optional |
| F5-TTS | ghcr.io/swivid/f5-tts:main | 7860 | Required |
| Zonos | ghcr.io/zyphra/zonos:latest | 7860 | Required |
| CosyVoice | Build from source | 8000 | Required |
| Piper | rhasspy/piper | N/A (CLI) | N/A |
Sample Docker Compose for a self-hosted TTS API:
version: '3'
services:
kokoro-tts:
image: ghcr.io/remsky/kokoro-fastapi:latest
ports:
- "8880:8880"
restart: unless-stopped
OpenAI-Compatible API
Several projects expose an OpenAI-compatible TTS API endpoint, so you can drop them into any existing application:
- fastkokoro — wraps Kokoro with OpenAI TTS API,
pip install fastkokoro - Local-TTS-Service — multi-engine OpenAI-compatible TTS server
- Zonos2 inference server — Mini-SGLang based, OpenAI-compatible
# Use any OpenAI-compatible TTS server
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8880/v1",
api_key="not-needed"
)
response = client.audio.speech.create(
model="kokoro",
voice="af_heart",
input="Self-hosted TTS is the future."
)
response.stream_to_file("output.mp3")
Voice Agent Pipeline
The complete local voice agent chain (STT → LLM → TTS) on a single machine:
Mic → Whisper (STT, CPU-friendly) → Ollama/llama.cpp (LLM) → Kokoro/Piper (TTS) → Speaker
With GPU acceleration, end-to-end latency is under 1 second. On CPU, expect 2–3 seconds — still acceptable for most applications.
Choosing What to Run
Budget / Hardware
├── Any CPU, no GPU
│ ├── Need quality? → Kokoro 82M (pip install kokoro)
│ ├── Need speed? → Piper (pip install piper-tts)
│ ├── Need multilingual? → MeloTTS or Edge-TTS
│ └── Need API server? → fastkokoro (OpenAI-compatible)
├── NVIDIA GPU, 6GB+ VRAM
│ ├── Need voice cloning? → F5-TTS or GPT-SoVITS
│ ├── Best multilingual? → CosyVoice 3 or Fish Speech 1.6
│ └── Production quality? → Zonos2 (8B needs 16GB+)
└── GGUF ecosystem user
└── OuteTTS (runs via llama.cpp)
Verification Checklist Before Self-Hosting
This catalog was reviewed on August 1, 2026, but repositories, model weights, licenses, commands, and hardware requirements can change independently. Before adopting an engine, pin the repository commit and model revision; save the model card and licenses for code, weights, and voice assets; scan dependencies; verify download sources and hashes; and reproduce installation in a clean environment.
Benchmark with a representative script and report CPU/GPU, memory, operating system, runtime, quantization, concurrency, input length, generated duration, wall-clock time, and failure rate. For a service, also test authentication, request limits, logs, deletion, backups, monitoring, cold starts, recovery, and dependency updates. For cloning, add documented consent, identity-abuse controls, disclosure, and deletion of reference recordings.
Bottom Line
Self-hosted TTS in 2026 is practical for teams prepared to operate the software and evaluate output. It can offer control, offline operation, and predictable infrastructure, but it is not automatically cost-free, private, unlimited, secure, or equal to a managed voice for every script.
Start by evaluating Kokoro when a compact general-purpose model fits the languages and license. Evaluate F5-TTS, CosyVoice, or another cloning system only for authorized reference audio and after checking its model terms. Larger systems such as Zonos2 require a measured GPU and operations budget; a parameter count does not guarantee a particular hosted-service quality level.
Your voices, your hardware, your data.
This guide was fact-checked August 1, 2026. The TTS ecosystem evolves quickly—star counts, model versions, installation commands, and licensing may change. Verify the current upstream model card and all applicable licenses before production or commercial use.
Related articles
Try OfflineTTS
Four local TTS engines, Whisper transcription, and private browser audio tools.
Open TTS Tool