AI Infrastructure

Best Local TTS Models (2026): Open-Source Text to Speech, Compared

The open text-to-speech models worth running on your own machine in November 2026, checked on their Hugging Face cards and repositories: Kokoro-82M, Phonon, ZONOS3-Mini, VoxCPM2, Qwen3-TTS, Chatterbox, Kitten TTS 2, OmniVoice, Fish Audio and Breeze TTS 2, with size, memory, licence, voice cloning and the commands to serve each one.

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.

NeedPickWhy
Fixed voices, any hardwareKokoro-82M82M parameters, Apache 2.0, 54 voices in 8 languages, mature servers
Fastest on a CPU, EnglishPhonon 31M31M parameters, 64.5 MB quantised file, streams, Apache 2.0, in Ollama
Smallest multilingualKitten TTS 2 Mini82M parameters, 16 languages, 82.7 MB int8 ONNX, Apache 2.0
Voice cloning, permissive licenceZONOS3-MiniApache 2.0, 43 languages, clones from a clip without a transcript
Best quality you can ship commerciallyVoxCPM22B parameters, 48 kHz output, 30 languages, Apache 2.0, about 8 GB of VRAM
Cloning through llama.cppQwen3-TTS 1.7B BaseApache 2.0, official GGUF from the llama.cpp maintainers
Most languagesOmniVoice600+ languages, but the weights are CC BY-NC
Multi-speaker drama and audiobooksFish Audio Drama 3Up 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)SizeLanguagesVoice cloningWeights licenceReleased
Kokoro-82M (hexgrad)82M8, with 54 voicesNoApache 2.0v1.0 in January 2025
Phonon 31M (Gradium)31MEnglishNot in the open weightsApache 2.0October 2026
Phonon 40M (Gradium)40MEnglish, French, German, Spanish, PortugueseNot in the open weightsCC BY-NC 4.0October 2026
Kitten TTS 2 Mini (KittenML)82M16NoApache 2.0November 2026
Kitten TTS 2 (KittenML)1.7B16 with a named voiceYes, 5 to 30 secondsStellon Labs Community LicenseSeptember 2026
ZONOS3-Mini (Zyphra)800M total, about 100M active43Yes, clip up to 60 secondsApache 2.09 November 2026
Chatterbox Multilingual V3 (Resemble AI)0.5B23YesMITRetired August 2026
Qwen3-TTS (Alibaba)0.6B and 1.7B (0.9B and 1.9B on the Hub)10Yes, about 3 secondsApache 2.0January 2026
VoxCPM2 (OpenBMB)2B (2.3B on the Hub)30Yes, plus voice designApache 2.0April 2026
VibeVoice-1.5B (Microsoft)2.7B on the HubEnglish, ChineseUp to 4 speakersMIT, described as research onlyAugust 2025
OmniVoice (k2-fsa)0.6B600+Yes, plus voice designCC BY-NCMarch 2026
Breeze TTS 2 (BreezeBlue)3.5BEnglish, ChineseYes, plus voice designResearch and non-commercialAugust 2026
Fish Audio S2 Pro4.6B80+YesFish Audio Research LicenseMarch 2026
Higgs TTS 3 (Boson AI)4.7B100+YesResearch and non-commercial, with a creator grantJune 2026
Fish Audio Drama 335B, 3B active per token80+Yes, up to 16 speakersFish Audio Community LicenseOctober 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.

ModelPublished footprintRuns on
Phonon 31M64.5 MB (8-bit GGUF)CPU, browser, phone
Kitten TTS 2 Mini82.7 MB (int8 ONNX)CPU through ONNX Runtime
Kokoro-82M82M parametersCPU, GPU, Apple Silicon
ZONOS3-Mini663 MB backbone GGUF plus codec filesCPU, GPU, Apple Silicon, WebGPU
Kitten TTS 2954 MB packed; 3.47 GB in BF16CPU, Apple Silicon (MLX), GPU through vLLM
Qwen3-TTS 1.7B Base1.04 GB at Q4_K_M plus a 446 MB audio projectorllama.cpp, Transformers, vLLM-Omni
Breeze TTS 2About 7.7 GiB of GPU memory; 14.4 GiB on the fast pathNVIDIA GPU, 12 GB minimum recommended
VoxCPM2About 8 GB of VRAMNVIDIA GPU; GGUF and ONNX ports exist
Fish Audio Drama 335B parameters with FP8 expertsServer 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.

ModelPublished figureHardware
Breeze TTS 2Under 40 ms TTFA; real-time factor 0.32NVIDIA H100, warmed-up fast path
ZONOS3-Mini80 ms median TTFA at 8 concurrent requestsNVIDIA H100 80 GB
ZONOS3-MiniUnder 150 ms TTFAM3 MacBook Air
Fish Audio Drama 388.9 ms median TTFA, single streamNVIDIA H200
Fish Audio S2 ProAbout 100 ms TTFA; real-time factor 0.195NVIDIA H200
Qwen3-TTSLatency “as low as 97ms”Not stated on the card
VoxCPM2Real-time factor about 0.3, or 0.13 with Nano-vLLMRTX 4090
OmniVoiceReal-time factor as low as 0.025Single H100 in the repository’s benchmark
Kokoro-82M via Kokoro-FastAPIAbout 300 ms first audio on GPU; about 3,500 ms on CPURTX 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.

  1. Permissive. Kokoro-82M, Phonon 31M, Kitten TTS 2 Mini, ZONOS3-Mini, VoxCPM2 and Qwen3-TTS are Apache 2.0. Chatterbox is MIT.
  2. 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.
  3. 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.
  4. 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.

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.


Need speech generated inside your own network, with approvals and audit records? See the text-to-speech tool or book a demo.

Frequently asked questions

What is the best local TTS model in 2026?

For fixed voices, Kokoro-82M is still the safe default in November 2026: 82 million parameters, Apache 2.0 weights, 54 voices in 8 languages, and it is small enough to run on a CPU. For cloning a voice under a permissive licence, the current choices are ZONOS3-Mini (Apache 2.0, 43 languages), VoxCPM2 (Apache 2.0, 30 languages, 48 kHz) and Qwen3-TTS (Apache 2.0, 10 languages). Fish Audio Drama 3, OmniVoice and Breeze TTS 2 are strong models whose weights limit or forbid commercial use.

Is Kokoro TTS free for commercial use?

Yes. The Kokoro-82M weights are published under Apache 2.0, and the model card says the author welcomes deployment in real use cases. The card also states that Kokoro was trained only on permissive or non-copyrighted audio, including synthetic audio from large providers' closed TTS models, which is worth passing to your legal reviewer. Kokoro has no voice cloning: you choose from its 54 built-in voices or blend them. Be careful with look-alike websites, since the card warns that domains containing the name are not affiliated with the author.

Which local TTS models support voice cloning?

Among models with permissive weights, ZONOS3-Mini clones from a reference clip of up to 60 seconds, VoxCPM2 clones from a short clip and can steer the style, Qwen3-TTS Base clones from about three seconds of audio, and Chatterbox clones in 23 languages under MIT, although its maintainer retired the project in August 2026. Kitten TTS 2 clones from 5 to 30 seconds under a licence with a revenue limit. OmniVoice, Fish Audio S2 Pro, Higgs TTS 3 and Breeze TTS 2 also clone, but their weights are non-commercial or restricted.

Can Ollama do text to speech?

Yes, since 24 October 2026. Ollama added speech models with Gradium's Phonon family: run ollama pull phonon, then ollama run phonon with your text, or call the OpenAI-compatible /v1/audio/speech endpoint on port 11434. Ollama's announcement says speech is available on macOS first, with Windows and Linux to follow. The default phonon model is the 31M English checkpoint under Apache 2.0; the French, German, Spanish, Portuguese and multilingual 40M models are CC BY-NC 4.0, so they are limited to non-commercial use. Output is 24 kHz mono WAV or PCM.

How much VRAM does a local TTS model need?

Often none. Kokoro-82M, Phonon, Kitten TTS 2 Mini and Chatterbox-Nano are built to run on a CPU, and Phonon's quantised weights are a 64.5 MB file. Larger cloning models want a GPU: OpenBMB lists about 8 GB of VRAM for VoxCPM2, and BreezeBlue lists about 7.7 GiB for Breeze TTS 2 and recommends a 12 GB card as the minimum. Qwen3-TTS 1.7B is about 1 GB as a 4-bit GGUF for llama.cpp. Fish Audio Drama 3, at 35 billion parameters, is a server model.

Do I need permission to clone someone's voice?

Yes. Treat written consent from the speaker as a requirement, and record what the voice may be used for and for how long. Several model licences say so directly: OmniVoice prohibits unauthorised cloning and impersonation, and the Higgs TTS 3 licence bars cloning without consent. In the EU, Article 50 of the AI Act has applied since 2 August 2026: generated audio must be marked as artificial in a machine-readable way, and deployers must disclose deepfakes. Other countries and US states have their own rules on voice and likeness, so ask counsel before publishing.

Filed under
text to speechopen-weight modelsvoice cloninglocal AIOllamamodel licences
On-Prem AI

Plan your on-prem AI deployment

Book an architecture call and we will scope a private, on-prem AI deployment for your environment — integrations, hardware, and governance included.

Keep reading