Hardcore Reviews
Hardcore Reviews

Open-Source TTS Compared: 8 Models, and the Best Can't Be Sold

Eight open-source TTS synthesis models compared (stars measured via GitHub API, 2026-10-31): GPT-SoVITS 64,311 (MIT), VoxCPM 40,862 (Apache-2.0), fish-speech 33,502, index-tts 24,829, CosyVoice 24,196 (repo moved under the QwenAudio org), KittenTTS 16,717, F5-TTS 15,490 (MIT code), breeze-tts 1,230. Three license tiers anchor the piece: safe for commerce (VoxCPM2/CosyVoice/GPT-SoVITS/KittenTTS 2); non-commercial weights (Breeze TTS 2 including self-hosted outputs, F5-TTS weights CC-BY-NC, Fish S2 Pro research-only); and the most misjudged tier, conditional commercial — IndexTTS-2.5 only gates entities above 100 million MAU or RMB 1 billion annual revenue (verified against the LICENSE text), so small teams are effectively free, while Fish Drama 3 allows commercial use under USD 500,000 annual revenue but bans hosted services and requires attribution. AA numbers compare only within a snapshot: August 26 — Breeze 1215, 90 over Fish S2 Pro (1125); September 25 — Breeze 1205, ninth overall, 74 behind the leader Sonic 3.6 (1279); snapshots never mix. Hardware figures come from READMEs: Breeze 7.7/14.4GiB, VoxCPM2 about 8GB (Nano-vLLM RTF 0.13), IndexTTS-2.5 RTF 0.2065 on a 4090, GPT-SoVITS RTF 0.028 on a 4060Ti, KittenTTS 2 nano int8 25MB on CPU. Six scenarios each get one or two picks; the four that missed the cut (ChatTTS/MaskGCT/Maya 2/Audio8) get one paragraph with reasons.

Published October 31, 202612 min read
<!-- opensource-tts-models-comparison-review | review | Open-Source TTS Compared: 8 Models, and the Best Can't Be Sold -->

A scope note: this site has covered cloning toolkits, full-duplex speech models, and the cloud-versus-local decision. This article fills the last gap — open-source TTS synthesis models themselves — compared on parameters, license, speed, VRAM, languages, and cloning. A companion Breeze TTS 2 deep dive publishes the same day; architecture details live there, and this review borrows only its decision-critical numbers.

The eight: Breeze TTS 2, VoxCPM2, IndexTTS-2.5, CosyVoice 2 / Fun-CosyVoice 3.0, Fish Audio Drama 3 / S2 Pro, GPT-SoVITS, F5-TTS, and KittenTTS 2. Star counts are GitHub API readings as of publication (2026-10-31): GPT-SoVITS 64,311, VoxCPM 40,862, fish-speech 33,502, index-tts 24,829, CosyVoice 24,196, KittenTTS 16,717, F5-TTS 15,490, breeze-tts 1,230. Stars sketch the attention hierarchy, but in open TTS the first ship-blocker is usually the license.

The Whole Field in One Table

Every cell has a source: parameters and speed from each README, licenses checked against the LICENSE files, stars from the 2026-10-31 snapshot.

<table> <thead> <tr><th>Model</th><th>Params</th><th>License (code + weights)</th><th>Speed and hardware</th><th>Languages</th><th>One-line verdict</th></tr> </thead> <tbody> <tr><td>Breeze TTS 2</td><td>~3.5B</td><td>Code Apache-2.0; weights research-only</td><td>Under 40ms first audio, RTF 0.32 (H100); 7.7GiB eager, 14.4GiB fast-all</td><td>Chinese, English</td><td>Open-weights No.1; commerce via hosted API</td></tr> <tr><td>VoxCPM2</td><td>2B</td><td>Code and weights Apache-2.0</td><td>RTF ~0.30, ~0.13 with Nano-vLLM (4090); ~8GB VRAM</td><td>30 + 9 Chinese dialects</td><td>The safest commercial default</td></tr> <tr><td>IndexTTS-2.5</td><td>0.8B</td><td>Custom bilibili license</td><td>RTF 0.2065 (4090)</td><td>ZH, EN, JA, ES, AR</td><td>Emotion and pronunciation knobs</td></tr> <tr><td>CosyVoice 2 / Fun-CosyVoice 3.0</td><td>0.5B</td><td>Repo Apache-2.0; weights per model card</td><td>150ms bidirectional streaming</td><td>9 + 18 Chinese dialects</td><td>License-free streaming default</td></tr> <tr><td>Fish Drama 3 / S2 Pro</td><td>35B-A3B / 4B</td><td>Community license; S2 Pro weights research-only</td><td>S2 Pro: RTF 0.195 (H200), ~100ms first audio</td><td>S2 Pro ~100 languages</td><td>Multi-role long-form factory</td></tr> <tr><td>GPT-SoVITS</td><td>Not stated</td><td>MIT (check base-model files)</td><td>RTF 0.028 (4060Ti), 0.014 (4090)</td><td>ZH, EN, JA, KO, YUE</td><td>Your voice as a model in one minute</td></tr> <tr><td>F5-TTS</td><td>Not stated</td><td>Code MIT; weights CC-BY-NC</td><td>No official figures</td><td>ZH, EN (Emilia base)</td><td>Alignment-free cloning baseline</td></tr> <tr><td>KittenTTS 2</td><td>1.7B (1-bit) / 15M-80M</td><td>Code Apache-2.0; weights vary</td><td>~8GB VRAM or 6GB RAM CPU; nano int8 25MB</td><td>20</td><td>On-device offline, no GPU needed</td></tr> </tbody> </table>

Breeze TTS 2: Ranked First, Read the Weights License First

Breeze TTS 2 is open TTS's loudest name. In the Artificial Analysis Provider Voice Arena snapshot of August 26, 2026, it took Elo 1215 — first among open-weights models, 90 points ahead of the same board's runner-up, Fish Audio S2 Pro at 1125. Per the official README, on a warmed-up H100 fast path, first audio arrives in under 40ms, RTF is 0.32 (about 3.1x realtime), and VRAM sits at roughly 7.7GiB eager or 14.4GiB with --fast-all; 12GB recommended, 24GB for the fast path.

The catch: code Apache-2.0, but the README states plainly that the weights, derivative models, and self-hosted outputs are research and non-commercial only. Commercial use keeps one road — the official hosted platform's paid subscription. Researchers can take it as-is; product teams should read the license or the same-day deep dive.

Repo: breezeblue-ai/breeze-tts, also at github.com/breezeblue-ai/breeze-tts.

VoxCPM2: The Safest Commercial Default

If only one model can be recommended, it is VoxCPM2. OpenBMB's 2B, tokenizer-free, diffusion-autoregressive architecture on a MiniCPM-4 backbone carries code and weights both under Apache-2.0 — the README explicitly says free for commercial use, the only flagship here with the commercial gate fully removed. Coverage: 30 languages plus 9 Chinese dialects, 48kHz output, second-generation Voice Design (describe a voice in text, no reference audio) and controllable voice cloning.

On the README's RTX 4090 figures: RTF around 0.30 in PyTorch, around 0.13 with Nano-vLLM, roughly 8GB of VRAM. GGUF builds via llama.cpp run on CPU and Mac for offline use. 40,862 stars and an active commit stream seal the deal.

Repo: OpenBMB/VoxCPM, also at github.com/OpenBMB/VoxCPM.

IndexTTS-2.5: Knobs for Emotion

Bilibili's IndexTTS-2.5 is a 0.8B lightweight covering Chinese, English, Japanese, Spanish, and Arabic, built around fine-grained emotion control: speech rate scales from 0.5x to 2.0x, and pronunciation is corrected per character through Chinese pinyin, English phonemes, or Japanese kana — a gift for podcasts full of names and jargon. On the README's 4090 table, RTF is 0.2065 versus the previous generation's 0.3257, with an official vLLM production recipe.

The custom license allows free use, but entities above 100 million monthly active users or RMB 1 billion prior-year revenue must apply separately, and improving other AI models with it is barred. The twist: those thresholds miss virtually every small team — conditional commercial use, not a ban, a different animal from Breeze's unconditional refusal.

Repo: index-tts/index-tts, also at github.com/index-tts/index-tts.

CosyVoice 2 and Fun-CosyVoice 3.0: The License-Free Streaming Default

Alibaba's CosyVoice repository has moved under the QwenAudio organization — 24,196 stars, repo Apache-2.0. Fun-CosyVoice 3.0 is a 0.5B model covering 9 languages and 18-plus Chinese dialects, with three tricks: bidirectional streaming (text in, audio out) down to 150ms of latency; pronunciation correction via Chinese pinyin and English phonemes; and text normalization without a traditional frontend, so numbers, symbols, and dates need no preprocessing. For realtime voice agents allergic to custom licenses, it is the default pick.

Two cautions: the weight-card terms are unverified here — confirm on the model card; and 150ms is the official README's number, with a third-party 6GB GPU claim kept separate.

Repo: QwenAudio/CosyVoice, also at github.com/QwenAudio/CosyVoice.

Fish Drama 3 and S2 Pro: The Multi-Role Long-Form Factory

fish-speech holds 33,502 stars and two distinct machines. Drama 3 is the 35B-A3B MoE flagship (3B active per token) built for multi-role and long-form work: director-style multi-round revision ("softer, sadder" regeneration), local editing and infilling that changes one word while keeping voice continuity, scene-based multi-character generation, and long-dialogue streaming with inline emotion tags. For audio dramas with a cast, nothing else here matches it.

S2 Pro is the 4B compact flagship: roughly a hundred languages, cloning from 10 to 30 seconds of reference audio, RTF 0.195 on an H200 with first audio around 100ms, and the official claim that it deploys on a consumer GPU. License in layers: commercial use is permitted for entities under USD 500,000 annual revenue, but any hosted service needs written authorization at any revenue, plus a Built with Fish Audio attribution; S2 Pro's weights are separately research-only.

Repo: fishaudio/fish-speech, also at github.com/fishaudio/fish-speech.

GPT-SoVITS: The 64K-Star Veteran

GPT-SoVITS leads the field in stars (64,311) with the deepest Chinese-community knowledge base: five-second zero-shot inference, fine-tuning from about one minute of data, and a WebUI chaining data labeling, training, and inference, with cross-lingual inference across Chinese, English, Japanese, Korean, and Cantonese. Speed is its hidden weapon: RTF 0.028 on an RTX 4060Ti and 0.014 on a 4090 — 1,400 characters synthesized in 3.36 seconds.

The license is MIT: commercial use, modification, and redistribution with zero gates on the code. One caveat: the fine-tuning base models and some dependencies carry their own license notes in the repository, so model files and code must be checked separately. For character voice banks and custom voices, it is the thickest-ecosystem route.

Repo: RVC-Boss/GPT-SoVITS, also at github.com/RVC-Boss/GPT-SoVITS.

F5-TTS: The Alignment-Free Entry Point

F5-TTS takes the flow-matching road — a Diffusion Transformer with ConvNeXt V2, officially billed as faking fluent and faithful speech with flow matching. Its niche is alignment-free cloning: no verbatim transcript required for the reference audio, a few seconds of sample to start, a Gradio interface one pip install away, and many community ports — the default baseline for lightweight cloning experiments. Code is MIT, stars 15,490.

But it carries this field's most typical dual track: the pretrained weights are CC-BY-NC because of the Emilia training data — non-commercial only — and no official RTF or VRAM figures exist, so benchmark it yourself. Great for experiments; a line you cross if you ship commercial content on the stock weights.

Repo: SWivid/F5-TTS, also at github.com/SWivid/F5-TTS.

KittenTTS 2: TTS in 25MB

KittenTTS 2 covers both ends with two product lines: a 1.7B, 1-bit quantized speech language model at just 492MB, with 115 built-in voices plus cloning across 20 languages; and a lightweight ONNX line of 15M to 80M models — the nano int8 version is 25MB and runs on CPU with no GPU. Hardware: about 8GB of VRAM on GPU, or 6GB of RAM plus 2GB of disk on CPU, with a custom llama.cpp fork for C++ inference. For on-device and in-browser scenarios, this tier has almost no competition.

Read the license carefully: the code is Apache-2.0, but the main model and each ONNX variant carry separate licenses whose terms this review could not finally verify — check every weight's model card before commercial use.

Repo: KittenML/KittenTTS, also at github.com/KittenML/KittenTTS.

The Ones That Did Not Make the Cut

Four well-known models missed the list. ChatTTS still owns a unique conversational looseness — laughter, pauses, filler control — but code under AGPL-3.0 plus weights under CC BY-NC, Chinese-English only, no cloning, and six months without a commit make it a double liability. MaskGCT's weights are CC-BY-NC and the release has aged, yet its ICLR 2025 non-autoregressive paradigm keeps research value. Maya 2 Native targets 11 Indian languages plus English with a striking TTFA of ~14ms under Apache-2.0, but the repo is days old with a two-digit star count. Audio8-TTS-Realistic offers 0.6B and 0.1B tiers across 23 languages — the 0.1B ONNX is a credible edge-side backup — but with two thousand stars and no official speed figures, wait and see.

Three License Tiers: The Most Important List Here

The license picture merges into three tiers. Tier one, safe for commercial use: VoxCPM2 (Apache-2.0 throughout), the CosyVoice repository (Apache-2.0; weights per model card), GPT-SoVITS (MIT, check base-model files), KittenTTS 2 (code side Apache-2.0, weights unverified). Tier two, weights non-commercial or research-only: Breeze TTS 2 (self-hosted outputs included in the ban; commerce via official hosting), F5-TTS (weights CC-BY-NC, code MIT), Fish S2 Pro weights (research only). Tier three, conditional commercial use, the most misjudged: IndexTTS-2.5 only gates entities above 100 million MAU or RMB 1 billion annual revenue, so small teams are effectively free; Fish Drama 3 permits commercial use under USD 500,000 annual revenue but bans hosted services and requires attribution. Permissive code does not mean permissive weights, and permissive weights do not mean commercial outputs — three separate checks.

Pick by Scenario

Realtime voice agents: Breeze TTS 2 for the fastest first audio (under 40ms, mind the license); license-free, Fun-CosyVoice 3.0's 150ms streaming or VoxCPM2 with Nano-vLLM at RTF 0.13. Audiobooks and long-form: Fish Drama 3's multi-role generation and director-style revision; S2 Pro when VRAM is tight. Social media voiceover: VoxCPM2's 48kHz plus Voice Design skips reference recordings; add CosyVoice 3 for 18-plus dialects. Character voice banks: GPT-SoVITS fine-tunes a signature voice from one minute of audio; IndexTTS-2.5 covers emotion-heavy roles and name pronunciations. On-device offline: KittenTTS 2's ONNX line (nano int8, 25MB) is in a tier of its own; 2B-class offline runs VoxCPM2's GGUF on CPU. Research: F5-TTS's MIT-coded flow matching, MaskGCT for the non-autoregressive paradigm, QwenAudio's CV3-Eval as the test set.

No open TTS model wins fast, convincing, cheap, and commercially free at once: Breeze takes fast and convincing but cannot be sold, VoxCPM2 takes commercial freedom and balance without top firepower, GPT-SoVITS takes customization and ecosystem at the cost of training effort.

FAQ

Q1: For commercial use, how do I actually choose among the eight?

A1: Go by the three tiers. Safest: VoxCPM2 (Apache-2.0 throughout) and GPT-SoVITS (MIT; check base-model files). Conditional: IndexTTS-2.5 and Fish Drama 3, whose revenue and MAU thresholds exempt most small teams. Non-commercial weights: Breeze TTS 2, F5-TTS, and Fish S2 Pro — separate license or hosted workaround.

Q2: For a pure Chinese workload, which is best?

A2: Depends on the task. Dialects and streaming: Fun-CosyVoice 3.0 (18-plus dialects, 150ms streaming). Emotion and pronunciation: IndexTTS-2.5, whose pinyin annotation fixes name readings. General quality: VoxCPM2's 48kHz. Each team's self-reported CV3-Eval benchmarks are run by their own authors — do not rank them against each other.

Q3: What is the minimum hardware to run any of this?

A3: KittenTTS 2's ONNX line is the floor: nano int8 is 25MB and runs on about 6GB of RAM, no GPU; the 1.7B main line also runs on CPU at about 6GB of RAM. With a consumer GPU: VoxCPM2 needs roughly 8GB of VRAM, Breeze TTS 2 about 7.7GiB eager, and GPT-SoVITS hits RTF 0.028 on a 4060Ti.

Q4: Who clones voices best?

A4: Depends on the mode. Zero-shot: Breeze TTS 2 from 3 to 10 seconds of reference audio, Fish S2 Pro from 10 to 30, KittenTTS 2 from 5 to 30. Deep customization: GPT-SoVITS fine-tunes on one minute of audio. F5-TTS skips alignment entirely. On Artificial Analysis's controlled-voices board (August 2026 snapshot, a different board from the expressiveness one), Breeze TTS 2 and Fish S2 Pro tie for third among open-weights models.

Q5: How big is the gap to paid APIs like ElevenLabs?

A5: On the Artificial Analysis full-board snapshot of September 25, 2026, the leader is the closed-source Cartesia Sonic 3.6 at Elo 1279; the highest-ranked open model, Breeze TTS 2, sits ninth at 1205 — a 74-point gap within the same table. The closed edge lies in extreme expressiveness and language breadth; on dialects, custom voices, and local deployability, open models lead. Elo drifts with votes; every number here carries its snapshot date.

Related reading

This article is AI-assisted and human-edited. Last updated: 2026-10-31

FAQ

For commercial use, how do I actually choose among the eight?
**A1:** Go by the three tiers. Safest: VoxCPM2 (Apache-2.0 throughout) and GPT-SoVITS (MIT; check base-model files). Conditional: IndexTTS-2.5 and Fish Drama 3, whose revenue and MAU thresholds exempt most small teams. Non-commercial weights: Breeze TTS 2, F5-TTS, and Fish S2 Pro — separate license or hosted workaround.
For a pure Chinese workload, which is best?
**A2:** Depends on the task. Dialects and streaming: Fun-CosyVoice 3.0 (18-plus dialects, 150ms streaming). Emotion and pronunciation: IndexTTS-2.5, whose pinyin annotation fixes name readings. General quality: VoxCPM2's 48kHz. Each team's self-reported CV3-Eval benchmarks are run by their own authors — do not rank them against each other.
What is the minimum hardware to run any of this?
**A3:** KittenTTS 2's ONNX line is the floor: nano int8 is 25MB and runs on about 6GB of RAM, no GPU; the 1.7B main line also runs on CPU at about 6GB of RAM. With a consumer GPU: VoxCPM2 needs roughly 8GB of VRAM, Breeze TTS 2 about 7.7GiB eager, and GPT-SoVITS hits RTF 0.028 on a 4060Ti.
Who clones voices best?
**A4:** Depends on the mode. Zero-shot: Breeze TTS 2 from 3 to 10 seconds of reference audio, Fish S2 Pro from 10 to 30, KittenTTS 2 from 5 to 30. Deep customization: GPT-SoVITS fine-tunes on one minute of audio. F5-TTS skips alignment entirely. On Artificial Analysis's controlled-voices board (August 2026 snapshot, a different board from the expressiveness one), Breeze TTS 2 and Fish S2 Pro tie for third among open-weights models.
How big is the gap to paid APIs like ElevenLabs?
**A5:** On the Artificial Analysis full-board snapshot of September 25, 2026, the leader is the closed-source Cartesia Sonic 3.6 at Elo 1279; the highest-ranked open model, Breeze TTS 2, sits ninth at 1205 — a 74-point gap within the same table. The closed edge lies in extreme expressiveness and language breadth; on dialects, custom voices, and local deployability, open models lead. Elo drifts with votes; every number here carries its snapshot date.

Related

Open Source

Breeze TTS 2: Open Weights No.1, Yet Not for Sale

BreezeBlue (Shanghai, founded June 2025, 15 people; founder Yang Bin is ex-MiniMax tech partner; 6 million USD seed announced August 25) open-sourced Breeze TTS 2: repo breezeblue-ai/breeze-tts (1,230 stars, Apache-2.0 code), about 3.48B parameters, Chinese-English bilingual, weights on Hugging Face and ModelScope. On Artificial Analysis's Provider Voice arena (late-August snapshot) it scored Elo 1215, first among open weights, 90 points over Fish Audio S2 Pro (1125); but on the controlled-voices board (8 fixed voices) it ranks only third among open weights (1002, tied with Fish S2 Pro, behind Mistral Voxtral TTS at 1010) and sixth overall — "first" needs its board name. README figures: under-40ms first audio and RTF 0.32 on a warmed H100 fast path, about 7.7GiB VRAM eager (12GB card advised) or 14.4GiB with --fast-all (24GB; the fast path costs more VRAM); four-stage architecture — T5Gemma2 text encoder, Qwen3-style 28-layer backbone, 12-layer depth decoder, Mimi-style VQ (16 codebooks, 12.5Hz). The hook is the dual license: code Apache-2.0, but weights, derivative models, and self-hosted outputs are research/non-commercial — commercial use needs written approval from RESONIA or the hosted platform (34 USD per million characters); community INT8 quantization runs it on an 8GB card (one developer measured a 7.4GB peak), plus a ComfyUI node pack and a community MLX 4bit port.

Oct 31, 202611 min read
Hardcore Reviews

Same Page, 26x the Tokens: Six Open-Source OCR Models Compared

Six open-source OCR models (DeepSeek-OCR 2, PaddleOCR-VL 1.5, MinerU 2.5, dots.ocr, GOT-OCR2.0, GLM-OCR) compared on the same page: GOT-OCR2.0 spends a fixed 256 visual tokens while MinerU 2.5 averages 6,790 — a 26x gap. This review breaks down the compression-versus-fidelity route split, warns that different OmniDocBench versions are not directly comparable (paper edition, v1.5, and v1.6 use different question sets), and adds the license as a one-vote-veto dimension: Apache-2.0 is the safest, AGPL-3.0 risks contagion for SaaS, and some models carry revenue-threshold clauses. Includes spec/license, benchmark-caliber, and token tables plus per-scenario picks.

Oct 25, 202611 min read