The best local TTS model for most people in November 2026 is Kokoro-82M: 82 million parameters, Apache 2.0, and fast on a CPU. For voice cloning under a permissive licence, use ZONOS3-Mini, VoxCPM2 or Qwen3-TTS. Phonon is the smallest good English voice and now runs inside Ollama. OmniVoice, Fish Audio and Breeze TTS 2 sound excellent but restrict commercial use.
Quick picks: the best local TTS by need
This shortlist started from Hugging Face’s text-to-speech trending and most-downloaded lists as they stood on 14 November 2026. We then read each model card, its licence file and its repository, and dropped anything we could not confirm. Speed and latency figures are the vendors’ own, on the hardware they name.
| Need | Pick | Why |
|---|---|---|
| Fixed voices, any hardware | Kokoro-82M | 82M parameters, Apache 2.0, 54 voices in 8 languages, mature servers |
| Fastest on a CPU, English | Phonon 31M | 31M parameters, 64.5 MB quantised file, streams, Apache 2.0, in Ollama |
| Smallest multilingual | Kitten TTS 2 Mini | 82M parameters, 16 languages, 82.7 MB int8 ONNX, Apache 2.0 |
| Voice cloning, permissive licence | ZONOS3-Mini | Apache 2.0, 43 languages, clones from a clip without a transcript |
| Best quality you can ship commercially | VoxCPM2 | 2B parameters, 48 kHz output, 30 languages, Apache 2.0, about 8 GB of VRAM |
| Cloning through llama.cpp | Qwen3-TTS 1.7B Base | Apache 2.0, official GGUF from the llama.cpp maintainers |
| Most languages | OmniVoice | 600+ languages, but the weights are CC BY-NC |
| Multi-speaker drama and audiobooks | Fish Audio Drama 3 | Up to 16 characters in one text; free commercial use only below USD 500,000 in revenue |
The best open source TTS models compared
“Open source” covers three different things in this table: weights you may use commercially, weights with a revenue ceiling, and weights for research only. Sizes are the vendor’s stated parameter count; where the Hugging Face total differs because it includes the audio codec, both are shown.
| Model (maker) | Size | Languages | Voice cloning | Weights licence | Released |
|---|---|---|---|---|---|
| Kokoro-82M (hexgrad) | 82M | 8, with 54 voices | No | Apache 2.0 | v1.0 in January 2025 |
| Phonon 31M (Gradium) | 31M | English | Not in the open weights | Apache 2.0 | October 2026 |
| Phonon 40M (Gradium) | 40M | English, French, German, Spanish, Portuguese | Not in the open weights | CC BY-NC 4.0 | October 2026 |
| Kitten TTS 2 Mini (KittenML) | 82M | 16 | No | Apache 2.0 | November 2026 |
| Kitten TTS 2 (KittenML) | 1.7B | 16 with a named voice | Yes, 5 to 30 seconds | Stellon Labs Community License | September 2026 |
| ZONOS3-Mini (Zyphra) | 800M total, about 100M active | 43 | Yes, clip up to 60 seconds | Apache 2.0 | 9 November 2026 |
| Chatterbox Multilingual V3 (Resemble AI) | 0.5B | 23 | Yes | MIT | Retired August 2026 |
| Qwen3-TTS (Alibaba) | 0.6B and 1.7B (0.9B and 1.9B on the Hub) | 10 | Yes, about 3 seconds | Apache 2.0 | January 2026 |
| VoxCPM2 (OpenBMB) | 2B (2.3B on the Hub) | 30 | Yes, plus voice design | Apache 2.0 | April 2026 |
| VibeVoice-1.5B (Microsoft) | 2.7B on the Hub | English, Chinese | Up to 4 speakers | MIT, described as research only | August 2025 |
| OmniVoice (k2-fsa) | 0.6B | 600+ | Yes, plus voice design | CC BY-NC | March 2026 |
| Breeze TTS 2 (BreezeBlue) | 3.5B | English, Chinese | Yes, plus voice design | Research and non-commercial | August 2026 |
| Fish Audio S2 Pro | 4.6B | 80+ | Yes | Fish Audio Research License | March 2026 |
| Higgs TTS 3 (Boson AI) | 4.7B | 100+ | Yes | Research and non-commercial, with a creator grant | June 2026 |
| Fish Audio Drama 3 | 35B, 3B active per token | 80+ | Yes, up to 16 speakers | Fish Audio Community License | October 2026 |
Two older names still top the download charts. Coqui XTTS-v2 still draws more than 5 million downloads a month but ships under the non-commercial Coqui Public Model License, and F5-TTS is CC BY-NC 4.0. Supertonic 3 (99M parameters, 31 languages, OpenRAIL-M) is a capable CPU model, but Supertone has archived its repository and ended support.
Kokoro TTS: still the default for fixed voices
Kokoro-82M is almost two years old and remains the most-downloaded text-to-speech model on Hugging Face, with 12.7 million downloads in the 30 days before we checked. The reasons are practical. It has 82 million parameters, the weights are Apache 2.0, version 1.0 covers 8 languages with 54 voices, and it produces 24 kHz audio on hardware as small as a laptop CPU.
What it does not do is clone. Kokoro is a StyleTTS 2 decoder with a fixed set of voice packs, which you can blend (af_bella+af_sky) but not replace with your own recording. For many internal uses that is an advantage: there is no reference audio to manage and no consent question.
The quickest route is the kokoro Python package (pip install kokoro soundfile, plus espeak-ng for fallback pronunciation). For anything shared, use Kokoro-FastAPI, which wraps the model in an OpenAI-compatible speech server with CPU, NVIDIA and experimental AMD ROCm images. Its maintainer measured 35 to 100 times real time on an RTX 4060 Ti 16 GB, with first audio after about 300 ms on that GPU and about 3,500 ms on an older Core i7 CPU.
If you are building the rest of a spoken assistant around it, our guide to running a voice stack on your own servers covers turn detection and latency budgets, and the Whisper deployment guide covers the recognition side.
Local TTS with voice cloning
Cloning models take a short recording of a speaker and generate new speech in that voice. Five are worth testing, in order of how freely you can use them.
ZONOS3-Mini is the newest: Zyphra released it on 9 November 2026 with Apache 2.0 weights and MIT code. It is a sparse mixture-of-experts model, 800 million parameters in total with about 100 million active per token, and it outputs 44.1 kHz audio in 43 languages. It clones from a reference clip of up to 60 seconds without needing a transcript, or from a compact speaker embedding, and ships 27 default voices. Zyphra publishes runtimes for NVIDIA GPUs, Apple Silicon (MLX), a C++/ggml build for CPUs, and a WebGPU build that runs in a browser tab.
VoxCPM2 from OpenBMB is the quality pick with a permissive licence. It has 2 billion parameters, outputs 48 kHz audio, covers 30 languages without language tags, and adds voice design, where you describe a voice in words instead of supplying audio. OpenBMB lists about 8 GB of VRAM and supports LoRA fine-tuning on 5 to 10 minutes of audio.
Qwen3-TTS comes in 0.6B and 1.7B sizes under Apache 2.0, for 10 languages. The Base checkpoints clone from roughly three seconds of audio, the CustomVoice checkpoints offer preset speakers with instruction control, and VoiceDesign builds a voice from a description. It is the cloning model with the best llama.cpp support.
Chatterbox from Resemble AI is MIT licensed, clones in 23 languages with its 0.5B Multilingual V3 model, and watermarks every output with Resemble’s PerTh watermarker. Read the notice at the top of its repository before adopting it: as of August 2026 Resemble describes Chatterbox as retired research, kept public as an archive with no support or updates. The weights still work; nobody will fix them.
Kitten TTS 2 is a 1.7B model whose ternary weights pack into a 954 MB download, with 115 built-in voices and cloning from 5 to 30 seconds of speech. It runs on CPUs through KittenML’s llama.cpp fork. The catch is the licence, covered below.
The smallest models: fastest on a CPU
Three families now sit at or below Kokoro’s size.
- Phonon (Gradium, October 2026) builds on Kyutai’s Pocket TTS. The 31M English model is a 64.5 MB 8-bit file, streams audio in 80 ms frames and is Apache 2.0. In Gradium’s blind listening test (468 raters, 8,290 votes) it scored an Elo of 2098 against 2043 for Kokoro, and 1.5% word error on a hard set of numbers, dates and codes against 3.5%. Those are the vendor’s figures. The 40M models add French, German, Spanish and Portuguese but are CC BY-NC 4.0. Gradium’s server can also answer Home Assistant over the Wyoming protocol, which makes Phonon a local voice for the set-up in our Home Assistant model guide.
- Kitten TTS 2 Mini (KittenML, 13 November 2026) matches Kokoro at 82M parameters, covers 16 languages with 118 voices, and ships as an 82.7 MB int8 ONNX file that needs no PyTorch. Nano (17M) and Pico (7M) versions cover 8 languages each. All three are Apache 2.0. They were one day old when we checked, so treat them as untested.
- Chatterbox-Nano (110M, English, MIT) runs three times faster than real time on 8 CPU cores, according to Resemble, with the same retirement caveat as its larger sibling.
These models pair naturally with a compact language model on the same machine. Our small language model guide lists the ones that fit beside them.
How much memory local TTS needs
Text-to-speech is far lighter than a language model. The table gives the download or memory figure each vendor states.
| Model | Published footprint | Runs on |
|---|---|---|
| Phonon 31M | 64.5 MB (8-bit GGUF) | CPU, browser, phone |
| Kitten TTS 2 Mini | 82.7 MB (int8 ONNX) | CPU through ONNX Runtime |
| Kokoro-82M | 82M parameters | CPU, GPU, Apple Silicon |
| ZONOS3-Mini | 663 MB backbone GGUF plus codec files | CPU, GPU, Apple Silicon, WebGPU |
| Kitten TTS 2 | 954 MB packed; 3.47 GB in BF16 | CPU, Apple Silicon (MLX), GPU through vLLM |
| Qwen3-TTS 1.7B Base | 1.04 GB at Q4_K_M plus a 446 MB audio projector | llama.cpp, Transformers, vLLM-Omni |
| Breeze TTS 2 | About 7.7 GiB of GPU memory; 14.4 GiB on the fast path | NVIDIA GPU, 12 GB minimum recommended |
| VoxCPM2 | About 8 GB of VRAM | NVIDIA GPU; GGUF and ONNX ports exist |
| Fish Audio Drama 3 | 35B parameters with FP8 experts | Server GPUs through SGLang-Omni or vLLM-Omni |
If a language model shares the GPU, size that first. The VRAM calculator does the arithmetic for the model, and the speech model’s footprint above goes on top.
Streaming latency: what the vendors have published
For a spoken assistant, the number that matters is time to first audio (TTFA). Every figure below comes from the model’s maker, on the hardware shown. None is our measurement, and none is comparable across rows.
| Model | Published figure | Hardware |
|---|---|---|
| Breeze TTS 2 | Under 40 ms TTFA; real-time factor 0.32 | NVIDIA H100, warmed-up fast path |
| ZONOS3-Mini | 80 ms median TTFA at 8 concurrent requests | NVIDIA H100 80 GB |
| ZONOS3-Mini | Under 150 ms TTFA | M3 MacBook Air |
| Fish Audio Drama 3 | 88.9 ms median TTFA, single stream | NVIDIA H200 |
| Fish Audio S2 Pro | About 100 ms TTFA; real-time factor 0.195 | NVIDIA H200 |
| Qwen3-TTS | Latency “as low as 97ms” | Not stated on the card |
| VoxCPM2 | Real-time factor about 0.3, or 0.13 with Nano-vLLM | RTX 4090 |
| OmniVoice | Real-time factor as low as 0.025 | Single H100 in the repository’s benchmark |
| Kokoro-82M via Kokoro-FastAPI | About 300 ms first audio on GPU; about 3,500 ms on CPU | RTX 4060 Ti; older Core i7 |
A real-time factor of 0.3 means one second of speech takes 0.3 seconds to generate. Datacentre figures do not transfer to a desktop card, so measure on your own hardware before choosing a model for live conversation.
Licences: which open TTS models allow commercial use
Speech is where “open” varies most, because training data often carries its own terms. On 14 November 2026 the weights fell into four groups.
- Permissive. Kokoro-82M, Phonon 31M, Kitten TTS 2 Mini, ZONOS3-Mini, VoxCPM2 and Qwen3-TTS are Apache 2.0. Chatterbox is MIT.
- Free below a ceiling. Kitten TTS 2 uses the Stellon Labs Community License: commercial use is free until you or your affiliates pass USD 1 million in annual revenue or in total funding. Fish Audio Drama 3 uses the Fish Audio Community License of 13 October 2026, which allows commercial use only while annual revenue is below USD 500,000 and requires a separate agreement for any hosted service.
- Non-commercial. OmniVoice’s code is Apache 2.0 but its card licenses the weights under CC BY-NC because of the training data. Fish Audio S2 Pro, Breeze TTS 2, the Phonon 40M models, XTTS-v2 and F5-TTS are also non-commercial. Breeze’s card extends the restriction to self-hosted outputs. Higgs TTS 3 is non-commercial with one exception, a creator grant that lets individuals monetise podcasts and videos with attribution; embedding it in a product still needs a commercial licence.
- Permissive on paper, limited in intent. VibeVoice-1.5B carries an MIT licence, yet Microsoft’s card limits it to research use and does not recommend commercial applications without further testing.
Check the weights licence rather than the code licence, and check it again before each upgrade: Fish Audio changed terms between S2 Pro and Drama 3.
Voice cloning: consent and the law
A cloned voice is personal data about a real person, and in many places it is also protected as part of their likeness. Three practical rules follow.
- Get written consent from the speaker, stating the purpose, the channels and the duration, and keep it with the reference recording. Several licences make this a condition: OmniVoice’s card prohibits unauthorised cloning and impersonation, and the Higgs TTS 3 licence bars cloning without consent.
- Label the output. Under Article 50 of the EU AI Act, which has applied since 2 August 2026, providers of systems that generate synthetic audio must mark it as artificial in a machine-readable way, and deployers must disclose deepfakes. Our Article 50 explainer covers who counts as the provider when you build the system yourself.
- Keep the watermark. Chatterbox embeds an imperceptible PerTh watermark in every file, and Microsoft says VibeVoice adds an audible disclaimer and a watermark. Do not strip them.
This is not legal advice. Rules on voice and likeness differ by country and by US state, so have counsel review any public or customer-facing use.
How to run local TTS
Ollama. Since 24 October 2026, Ollama speaks. Its documentation asks for version 0.40.9 or later, and its announcement says speech models are available on macOS first.
ollama pull phonon
ollama run phonon --voice Zoey "Hello from a local voice."
ollama run phonon "Save this to a file." > speech.wav
An OpenAI-compatible speech endpoint. Most tools that can call OpenAI’s text-to-speech API accept a custom base URL, so a local server on /v1/audio/speech replaces the cloud service. Ollama exposes one on port 11434. Kokoro-FastAPI does the same on port 8880:
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
curl http://localhost:8880/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "kokoro", "voice": "af_bella", "input": "Hello from Kokoro."}' \
--output hello.mp3
Gradium publishes an equivalent Docker image for Phonon, SGLang-Omni serves ZONOS3-Mini and Drama 3 on the same endpoint (sgl-omni serve --model-path Zyphra/ZONOS3-Mini --port 8000), and vLLM-Omni does so for VoxCPM2. None of these servers adds authentication by default, so bind them to localhost or put a proxy in front. Our note on serving Ollama to several users applies here too.
llama.cpp. The llama-tts tool now runs Qwen3-TTS and Pocket TTS from GGUF files:
llama-tts -hf ggml-org/Qwen3-TTS-12Hz-1.7B-Base-GGUF \
-p "Hello world" --tts-lang english \
--tts-speaker-file speaker.mp3 --output out.wav
For a wider catalogue in one binary, audio.cpp is a ggml runtime with a CLI, a server and a web UI. Its README listed 148 audio model families when we checked, including Chatterbox, VoxCPM2, Qwen3-TTS, OmniVoice and Phonon, on CPU, CUDA, Vulkan and Metal; ZONOS3-Mini arrived in release v0.9.5 on 14 November 2026. The weights keep their original licences. KoboldCpp, the single-file llama.cpp front end, also lists text to speech with Qwen3-TTS and Kokoro among its features and answers OpenAI speech clients.
Open WebUI. In the admin panel, open Settings, then Audio, and set the text-to-speech engine to OpenAI, the API base URL to http://localhost:8880/v1, the API key to not-needed, the model to kokoro and the voice to af_bella. Those are the values in Open WebUI’s Kokoro-FastAPI guide; use host.docker.internal instead of localhost when Open WebUI runs in Docker. Ollama’s endpoint returns only WAV or PCM and rejects unsupported options with a 400 error, so test a client against it before relying on it. For choosing the chat front end itself, see our comparison of Open WebUI, LibreChat and AnythingLLM.
ComfyUI. TTS Audio Suite, at version 5.10.9 when we checked, puts 19 engines behind one set of nodes, among them Chatterbox, Qwen3-TTS, OmniVoice, VibeVoice, Fish Audio S2 Pro and Higgs Audio, with character switching and subtitle timing. OpenBMB lists three separate ComfyUI node packs for VoxCPM2. If you already use ComfyUI for pictures, as in our local image generation guide, narration fits into the same graph.
How VDF AI fits
VDF AI does not run, host, resell or integrate with any of the models or tools in this guide, and nothing here describes which voice model a VDF deployment uses. A single workstation running Kokoro or Phonon answers one person’s needs. An organisation has different questions: who approved the voice model and its licence, who may generate speech, whose voice was cloned and on what consent, and where the text and audio are stored.
VDF AI is a platform for governed, private AI that runs on your own servers, in an air-gapped network or in its cloud. Its agents can be given a text-to-speech tool with voice, speed and MP3 or WAV output, and synthesis can run on a voice model inside your perimeter, with role-based access and audit records around each run. For the language models behind those agents, VDF AI Router registers on-premises endpoints beside any cloud models your policy allows.
Sources
Model cards, licence files and repositories were read on 14 November 2026; download counts are the 30-day figures the Hugging Face API returned that day.
- Kokoro-82M model card and Kokoro-FastAPI
- Phonon 31M English model card and Gradium’s Phonon runtime
- Ollama: Speech models in Ollama and Ollama speech documentation
- Kitten TTS 2, its licence and Kitten TTS 2 Mini
- ZONOS3-Mini model card, repository and Zyphra’s release post
- Chatterbox model card and repository with the retirement notice
- Qwen3-TTS 1.7B CustomVoice model card and llama.cpp GGUF build
- VoxCPM2 model card and VoxCPM repository
- OmniVoice model card and repository
- Fish Audio S2 Pro, Fish Audio Drama 3 and the Fish Audio Community License
- Breeze TTS 2 model card
- Higgs TTS 3 model card
- VibeVoice-1.5B model card
- Coqui XTTS-v2, F5-TTS and Supertonic repository
- llama.cpp TTS tool, audio.cpp and KoboldCpp
- Open WebUI: Kokoro-FastAPI integration
- TTS Audio Suite for ComfyUI
- EU AI Act, Article 50
Need speech generated inside your own network, with approvals and audit records? See the text-to-speech tool or book a demo.