niobures commited on
Commit
d3eb8bf
·
verified ·
1 Parent(s): 82f8696

ZONOS2 (code, models, paper)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,13 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ models/ZONOS2-GGUF/dac.gguf filter=lfs diff=lfs merge=lfs -text
37
+ models/ZONOS2-GGUF/spk-encoder.gguf filter=lfs diff=lfs merge=lfs -text
38
+ models/ZONOS2-GGUF/zonos2-f16.gguf filter=lfs diff=lfs merge=lfs -text
39
+ models/ZONOS2-GGUF/zonos2-q4_k.gguf filter=lfs diff=lfs merge=lfs -text
40
+ models/ZONOS2-GGUF/zonos2-q5_k.gguf filter=lfs diff=lfs merge=lfs -text
41
+ models/ZONOS2-GGUF/zonos2-q6_k.gguf filter=lfs diff=lfs merge=lfs -text
42
+ models/ZONOS2-GGUF/zonos2-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
43
+ models/ZONOS2/assets/zonos2_arlooop_animated.gif filter=lfs diff=lfs merge=lfs -text
44
+ models/ZONOS2/assets/ZONOS2BlogThumbnail.png filter=lfs diff=lfs merge=lfs -text
45
+ ZONOS2[[:space:]]Technical[[:space:]]Report.pdf filter=lfs diff=lfs merge=lfs -text
ZONOS2 Technical Report.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e25ed43bab8fa5c90d0d904f1ee56b93988dec759a067ed9823e80a4012ae2d
3
+ size 2519958
code/ComfyUI-Zonos2-TTS.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d00e3e275138ceeb2880a61ff1ef0d1ed74d5854dc7ab11378cd2a7b3dd15737
3
+ size 99904
code/ZONOS2-mlx.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b99ffd682c2a49fb0f2e05d9d80e6c7b9a9b7a9ecdcc6630dca42800ecba74e0
3
+ size 3672748
code/ZONOS2.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a944efd46dd3783ae78e6366fea602827ad5aed6a0badaec22a84799f8907b2e
3
+ size 35462426
code/ZONOS2_finetuning.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d4572dd141821ebead3eb87aa579751cb8cd75f53f5675bf1acffecbcc570a8
3
+ size 103003
code/Zonos2_TTS-ComfyUI.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6710c41200587b6ba19463b097d36e35666ede0701b3524d875e3b6fdccdc8b7
3
+ size 387522
code/mlx-zonos2.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9d11a302ee72d551ebe75d255ec75281389003a29b0518c0cc52af4f9ec863d4
3
+ size 420402
code/zonos2-dockerhub.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cad937a6702520fb9e6cfd96e9feca410f460cd441ba433aef5b4ccc2128e7fd
3
+ size 32713
code/zonos2-webui.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f7bedb4d906c5d99cc0688602f11d63522ae2e0d63d3d48191ade5eb788e05b
3
+ size 2215726
code/zonos2.cpp (MaurerAnton).zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f637e9028ef42faa7c48cef9df0fcc4fcfb99a3dd8c0ef0454ce0a20893187e8
3
+ size 103309
code/zonos2.cpp.zip ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b07243268fb81ebf3494cc33d57a349aea15b1042ffe52c80a059831c87baf41
3
+ size 338258436
models/ZONOS2-GGUF/.gitattributes ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ dac.gguf filter=lfs diff=lfs merge=lfs -text
37
+ spk-encoder.gguf filter=lfs diff=lfs merge=lfs -text
38
+ zonos2-f16.gguf filter=lfs diff=lfs merge=lfs -text
39
+ zonos2-q4_k-experts.gguf filter=lfs diff=lfs merge=lfs -text
40
+ zonos2-q3_k-experts.gguf filter=lfs diff=lfs merge=lfs -text
41
+ zonos2-q2_k-experts.gguf filter=lfs diff=lfs merge=lfs -text
42
+ zonos2-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
43
+ zonos2-q6_k.gguf filter=lfs diff=lfs merge=lfs -text
44
+ zonos2-q5_k.gguf filter=lfs diff=lfs merge=lfs -text
45
+ zonos2-q4_k.gguf filter=lfs diff=lfs merge=lfs -text
models/ZONOS2-GGUF/README.md ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ pipeline_tag: text-to-speech
4
+ library_name: gguf
5
+ base_model: Zyphra/ZONOS2
6
+ base_model_relation: quantized
7
+ tags:
8
+ - text-to-speech
9
+ - tts
10
+ - gguf
11
+ - ggml
12
+ - zonos2.cpp
13
+ ---
14
+
15
+ # ZONOS2 — GGUF
16
+
17
+ <p align="center">
18
+ <img src="https://huggingface.co/Zyphra/ZONOS2/resolve/main/assets/ZONOS2BlogThumbnail.png" alt="ZONOS2 title card" width="750" />
19
+ </p>
20
+
21
+ <div align="center">
22
+ <a href="https://discord.gg/gTW9JwST8q" target="_blank">
23
+ <img src="https://img.shields.io/badge/Join%20Our%20Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white" alt="Discord">
24
+ </a>
25
+ </div>
26
+
27
+ ---
28
+
29
+ GGUF weights for [**Zyphra/ZONOS2**](https://huggingface.co/Zyphra/ZONOS2), ready to run
30
+ with [**zonos2.cpp**](https://github.com/Zyphra/zonos2.cpp) — a standalone ggml/GGUF C++
31
+ port of ZONOS2. The **entire pipeline** (ECAPA speaker encoder → MoE backbone → DAC
32
+ vocoder) runs as native C++ linking only `libggml` + `gguf`: **no Python, no PyTorch, no
33
+ CUDA-only kernels at inference time.** CPU and CUDA use the same files.
34
+
35
+ ZONOS2 is Zyphra's latest text-to-speech model, trained on more than 6 million hours of
36
+ varied multilingual speech, delivering expressiveness and quality on par with—or even
37
+ surpassing—top TTS providers at low latency with MoE. ZONOS2 excels at high-fidelity and
38
+ naturalistic voice cloning.
39
+
40
+ **For model details and speech samples, check out our [blog](https://www.zyphra.com/our-work/zonos2).**
41
+ **A hosted version is available at [cloud.zyphra.com/audio-playground](https://cloud.zyphra.com/audio-playground).**
42
+
43
+ Language support is as follows.
44
+ | Tier | Languages |
45
+ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
46
+ | Tier 1 | English, Mandarin Chinese, Japanese |
47
+ | Tier 2 | Korean, Russian, Italian, Portuguese, French, Spanish, Vietnamese, German, Hebrew, Dutch |
48
+ | Tier 3 | Swedish, Hindi, Tamil, Telugu, Thai, Norwegian, Bengali, Tagalog, Arabic, Danish, Indonesian, Polish, Ukrainian, Romanian, Finnish, Hungarian, Lithuanian, Estonian, Slovak, Croatian, Latvian |
49
+
50
+ ---
51
+
52
+ ## Files
53
+
54
+ | File | Size | Description |
55
+ | --- | --- | --- |
56
+ | `zonos2-f16.gguf` | 15.3 GB | F16 backbone — lossless from the bf16 checkpoint |
57
+ | `zonos2-q8_0.gguf` | 8.5 GB | Q8_0 MoE experts, **F16 spine** — recommended; effectively lossless |
58
+ | `zonos2-q6_k.gguf` | 6.8 GB | Q6_K MoE experts, F16 spine |
59
+ | `zonos2-q5_k.gguf` | 5.9 GB | Q5_K MoE experts, F16 spine |
60
+ | `zonos2-q4_k.gguf` | 4.9 GB | Q4_K MoE experts, F16 spine — smallest |
61
+ | `dac.gguf` | 254 MB | DAC-44 kHz decoder (codes → waveform) |
62
+ | `spk-encoder.gguf` | 24 MB | ECAPA-TDNN speaker encoder (wav → x-vector, for voice cloning) |
63
+
64
+ All quants keep the **spine (attention + router + embeddings + speaker projection) at
65
+ F16** and quantize only the MoE expert matrices — the layout that holds quality far below
66
+ the usual quant floor. The full-precision spine is the single biggest quality lever; pick
67
+ the expert precision (Q8 → Q4) that fits your VRAM.
68
+
69
+ ## Benchmarks
70
+
71
+ | Build | Size | bpw | KLD&nbsp;↓ | Top-1&nbsp;↑ | WER&nbsp;↓ | SpkSim&nbsp;↑ | UTMOS&nbsp;↑ |
72
+ | --- | --- | --- | --- | --- | --- | --- | --- |
73
+ | **F16** (ref) | 15.3 GB | 16.0 | — | — | 2.79 | 66.75 | 4.40 |
74
+ | **Q8_0** | 8.5 GB | 8.50 | 0.002 | 96.5% | 2.87 | 66.30 | 4.40 |
75
+ | **Q6_K** | 6.8 GB | 6.56 | 0.007 | 92.9% | 3.07 | 66.12 | 4.40 |
76
+ | **Q5_K** | 5.8 GB | 5.50 | 0.025 | 86.3% | 2.98 | 66.30 | 4.40 |
77
+ | **Q4_K** | 4.9 GB | 4.50 | 0.072 | 76.9% | 3.00 | 64.54 | 4.36 |
78
+
79
+ - **KLD** (mean) and **Top-1** measure how closely each quant tracks the F16 backbone's
80
+ per-frame logits, scored with the `zonos2-perplexity` tool in zonos2.cpp.
81
+ - **WER** (Qwen3-ASR word-error rate), **SpkSim** (clone speaker similarity), and
82
+ **UTMOS** (predicted MOS) are end-to-end on the
83
+ [`Zyphra/ZTT1-Eval`](https://github.com/Zyphra/ZTT1-Eval) Clean English set;
84
+ lower WER and higher SpkSim/UTMOS are better.
85
+
86
+ Although the logit metrics (KLD, Top-1) degrade steadily as the experts shrink, the
87
+ **audio quality holds nearly flat down to Q4_K** — WER, speaker similarity, and UTMOS stay
88
+ within eval noise of F16. The F16 spine keeps the model on-distribution, so the smaller
89
+ quants spend their error budget on inaudible logit jitter rather than audible artifacts.
90
+ **Q8_0 is the recommended default** (effectively lossless); Q4_K is a strong choice when
91
+ VRAM is tight.
92
+
93
+ ## Quick Start
94
+
95
+ Build [zonos2.cpp](https://github.com/Zyphra/zonos2.cpp) (CPU, or `-DGGML_CUDA=ON` for
96
+ NVIDIA), then turn text into a waveform with one command:
97
+
98
+ ```bash
99
+ zonos2-cli zonos2-q8_0.gguf --tts "Hello, world." out.wav \
100
+ --dac dac.gguf --gpu --seed 1
101
+ ```
102
+
103
+ Add `--spk voice.mp3` (with `spk-encoder.gguf`) to clone a voice from a reference clip.
104
+
105
+ ### HTTP server
106
+
107
+ `zonos2-server` mirrors the reference FastAPI — low-latency streaming PCM, an OpenAI
108
+ `/v1/audio/speech` endpoint, in-process voice cloning, and a browser UI:
109
+
110
+ ```bash
111
+ zonos2-server zonos2-q8_0.gguf --dac dac.gguf --spk-encoder spk-encoder.gguf --gpu
112
+ ```
113
+
114
+ See the [zonos2.cpp README](https://github.com/Zyphra/zonos2.cpp) for build instructions,
115
+ quantization (`quantize-cli`), batching, and the full CLI reference.
116
+
117
+ ## Citation
118
+ If you find this model useful in an academic context please cite as:
119
+ ```
120
+ @misc{zyphra2025zonos,
121
+ title = {Zonos V2 Technical Report},
122
+ author = {Gabriel Clark, Sofian Mejjoute, Mohamed Osman, George Close, Beren Millidge},
123
+ year = {2026},
124
+ }
125
+ ```
models/ZONOS2-GGUF/dac.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5330fc112cfac5e7bae511a5083915ce5028899de4d7a4193dcc5874063532c
3
+ size 254172448
models/ZONOS2-GGUF/languages.txt ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ English
2
+ Mandarin Chinese
3
+ Japanese
4
+ Korean
5
+ Russian
6
+ Italian
7
+ Portuguese
8
+ French
9
+ Spanish
10
+ Vietnamese
11
+ German
12
+ Hebrew
13
+ Dutch
14
+ Swedish
15
+ Hindi
16
+ Tamil
17
+ Telugu
18
+ Thai
19
+ Norwegian
20
+ Bengali
21
+ Tagalog
22
+ Arabic
23
+ Danish
24
+ Indonesian
25
+ Polish
26
+ Ukrainian
27
+ Romanian
28
+ Finnish
29
+ Hungarian
30
+ Lithuanian
31
+ Estonian
32
+ Slovak
33
+ Croatian
34
+ Latvian
models/ZONOS2-GGUF/source.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://huggingface.co/Zyphra/ZONOS2-GGUF
models/ZONOS2-GGUF/spk-encoder.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:284849980047a811e2c2a13ce7527c8a6a286021df152e5325533d783240eb6d
3
+ size 24299552
models/ZONOS2-GGUF/zonos2-f16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:01cdaa86fb74b7ecfec67267920d50235e4aaaa7b1faebb7254ae696ec72c3ff
3
+ size 15336543104
models/ZONOS2-GGUF/zonos2-q4_k.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dd78788653e3d3f668713cca9b27db4e564bae5f099609609be0a100e06a12f5
3
+ size 4917891968
models/ZONOS2-GGUF/zonos2-q5_k.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7c1591c7232173700b70e05b3e44eda75f3f1596b455a4ea607a5ee748bf1ccc
3
+ size 5823861632
models/ZONOS2-GGUF/zonos2-q6_k.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:349175207ce6521d4e89e2317f7862c68d15b8ee5ad876c1c3ce2938dc5c7e86
3
+ size 6786454400
models/ZONOS2-GGUF/zonos2-q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:42dbdc642936bee4c9b0ed3045eadd815aba2166038d41b9abd04d683e911fb4
3
+ size 8541770624
models/ZONOS2/.gitattributes ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ zonos2_arlooop_animated.gif filter=lfs diff=lfs merge=lfs -text
37
+ ZONOS2[[:space:]]Blog[[:space:]]Thumbnail.png filter=lfs diff=lfs merge=lfs -text
38
+ assets/ZONOS2BlogThumbnail.png filter=lfs diff=lfs merge=lfs -text
models/ZONOS2/README.md ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ pipeline_tag: text-to-speech
4
+ library_name: ZONOS2
5
+ ---
6
+
7
+ # ZONOS2
8
+
9
+ <p align="center">
10
+ <img src="./assets/ZONOS2BlogThumbnail.png" alt="ZONOS2 title card" width="750" />
11
+ </p>
12
+
13
+ <div align="center">
14
+ <a href="https://discord.gg/gTW9JwST8q" target="_blank">
15
+ <img src="https://img.shields.io/badge/Join%20Our%20Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white" alt="Discord">
16
+ </a>
17
+ </div>
18
+
19
+ ---
20
+
21
+
22
+ ZONOS2 is our latest text-to-speech model trained on more than 6 million hours of varied multilingual speech, delivering expressiveness and quality on par with—or even surpassing—top TTS providers at low latency with MoE. ZONOS2 excels at high-fidelity and naturalistic voice cloning.
23
+
24
+
25
+ During inference we use nemo TN normalized UTF-8 bytes and an ECAPA-TDNN embedding to generate DAC tokens with our MoE backbone. An inference overview can be seen below.
26
+ <p align="center">
27
+ <img src="./assets/zonos2_arlooop_animated.gif" alt="ZONOS2 title card" width="750" />
28
+ </p>
29
+
30
+ Language support is as follows.
31
+ | Tier | Languages |
32
+ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
33
+ | Tier 1 | English, Mandarin Chinese, Japanese |
34
+ | Tier 2 | Korean, Russian, Italian, Portuguese, French, Spanish, Vietnamese, German, Hebrew, Dutch |
35
+ | Tier 3 | Swedish, Hindi, Tamil, Telugu, Thai, Norwegian, Bengali, Tagalog, Arabic, Danish, Indonesian, Polish, Ukrainian, Romanian, Finnish, Hungarian, Lithuanian, Estonian, Slovak, Croatian, Latvian |
36
+
37
+
38
+ For local inference we provide a high-performance TTS inference server built on [Mini-SGLang](https://github.com/sgl-project/mini-sglang).
39
+
40
+ **For more details and speech samples, check out our [blog](https://www.zyphra.com/our-work/zonos2).**
41
+
42
+ **We also have a hosted version available at [cloud.zyphra.com/audio-playground](https://cloud.zyphra.com/audio-playground).**
43
+
44
+ ---
45
+
46
+ ## Quick Start
47
+
48
+ > **Platform Support**: Linux only (x86_64). Requires NVIDIA GPU with CUDA toolkit matching your driver version (`nvidia-smi` to check).
49
+
50
+ ### 1. Installation
51
+
52
+ Requires [uv](https://docs.astral.sh/uv/getting-started/installation/).
53
+
54
+ ```bash
55
+ git clone https://github.com/Zyphra/ZONOS2.git
56
+ cd ZONOS2
57
+ uv sync
58
+ ```
59
+
60
+ ### 2. Launch the TTS Server
61
+
62
+ ```bash
63
+ uv run python -m minisgl --model-path Zyphra/ZONOS2 --tts-default-voices-dir ./default_voices/
64
+ ```
65
+
66
+ `uv run` always uses the project environment, so no venv activation is needed.
67
+
68
+ The server starts on `http://localhost:1919` by default. TTS mode is auto-detected for zonos2 models.
69
+ `--tts-default-voices-dir <folder>` pre-populates the web UI with voice-clone
70
+ speakers from disk; the folder is scanned recursively for speaker audio
71
+ (`.wav`, `.mp3`, `.flac`, `.m4a`, `.ogg`, `.opus`, `.aac`, `.webm`) and saved
72
+ embeddings (`.npy`, `.npz`). The newest voice is selected automatically on
73
+ startup.
74
+
75
+ ### 3. Generate Speech
76
+
77
+ **curl:**
78
+
79
+ ```bash
80
+ curl -X POST http://localhost:1919/tts/generate \
81
+ -H "Content-Type: application/json" \
82
+ -d '{"text": "Hello world", "stream": true}' \
83
+ --output output.pcm
84
+
85
+ # Convert to WAV
86
+ ffmpeg -f f32le -ar 44100 -ac 1 -i output.pcm output.wav
87
+ ```
88
+
89
+ **Web UI:** Open `http://localhost:1919/` in your browser.
90
+
91
+ ## Python API (offline inference)
92
+
93
+ You can also run the engine directly in a Python script, without starting a
94
+ server, via `TTSLLM`:
95
+
96
+ ```python
97
+ from zonos2.message import TTSSamplingParams
98
+ from zonos2.tts import TTSLLM
99
+
100
+ tts = TTSLLM(model_path="Zyphra/ZONOS2")
101
+
102
+ results = tts.generate(
103
+ ["Hello from the offline Python API.", "Batched prompts work too."],
104
+ TTSSamplingParams(seed=42),
105
+ )
106
+
107
+ for i, result in enumerate(results):
108
+ print(f"frames={len(result['audio_tokens'])}, eos_frame={result['eos_frame']}")
109
+ tts.save_audio(result["audio"], f"output_{i}.wav")
110
+ ```
111
+
112
+
113
+ ## Citation
114
+ If you find this model useful in an academic context please cite as:
115
+ ```
116
+ @misc{zyphra2025zonos,
117
+ title = {Zonos V2 Technical Report},
118
+ author = {Gabriel Clark, Sofian Mejjoute, Mohamed Osman, George Close, Beren Millidge},
119
+ year = {2026},
120
+ }
121
+ ```
models/ZONOS2/assets/ZONOS2BlogThumbnail.png ADDED

Git LFS Details

  • SHA256: d9c3c09b213fe59c7bd0214a75219f37ff4cf51da45a245f4943e759fdeef47c
  • Pointer size: 131 Bytes
  • Size of remote file: 595 kB
models/ZONOS2/assets/zonos2_arlooop_animated.gif ADDED

Git LFS Details

  • SHA256: 6fe9bb07bfe7651272be63beed980231b3e2c27d0dd2c7b5eb33554e5fa24900
  • Pointer size: 133 Bytes
  • Size of remote file: 14.1 MB
models/ZONOS2/languages.txt ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ English
2
+ Mandarin Chinese
3
+ Japanese
4
+ Korean
5
+ Russian
6
+ Italian
7
+ Portuguese
8
+ French
9
+ Spanish
10
+ Vietnamese
11
+ German
12
+ Hebrew
13
+ Dutch
14
+ Swedish
15
+ Hindi
16
+ Tamil
17
+ Telugu
18
+ Thai
19
+ Norwegian
20
+ Bengali
21
+ Tagalog
22
+ Arabic
23
+ Danish
24
+ Indonesian
25
+ Polish
26
+ Ukrainian
27
+ Romanian
28
+ Finnish
29
+ Hungarian
30
+ Lithuanian
31
+ Estonian
32
+ Slovak
33
+ Croatian
34
+ Latvian
models/ZONOS2/model.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f6aa0fff9036ee44ccbc625d40aa6bdd8ea223480a5447e9f6aad70c38b6ecd
3
+ size 15336390655
models/ZONOS2/params.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_type": "zonos2",
3
+ "dtype": "bfloat16",
4
+ "n_layers": 28,
5
+ "dim": 2048,
6
+ "head_dim": 128,
7
+ "n_heads": null,
8
+ "n_kv_heads": 4,
9
+ "ffn_dim_multiplier": 1.5,
10
+ "multiple_of": 256,
11
+ "norm_eps": 1e-05,
12
+ "rope_theta": 10000.0,
13
+ "max_seqlen": 6144,
14
+ "n_codebooks": 9,
15
+ "codebook_size": 1024,
16
+ "eoa_id": 1024,
17
+ "audio_pad_id": 1025,
18
+ "text_vocab": 519,
19
+ "loss_softcap": 15.0,
20
+ "speaker_enabled": true,
21
+ "speaker_embedding_dim": 2048,
22
+ "speaker_lda_dim": 1024,
23
+ "speaker_background_token_enabled": true,
24
+ "accurate_mode_token_enabled": true,
25
+ "speaking_rate_num_buckets": 8,
26
+ "speaking_rate_buckets": ["0-8", "8-11", "11-14", "14-17", "17-21", "21-28", "28-40", "40+"],
27
+ "quality_num_buckets": 60,
28
+ "quality_features": [
29
+ "lufs",
30
+ "estimated_snr",
31
+ "max_pause",
32
+ "estimated_bandlimit_hz",
33
+ "leading_silence_s",
34
+ "trailing_silence_s"
35
+ ],
36
+ "quality_buckets": {
37
+ "lufs": ["-1000--50", "-50--45.5", "-45.5--41", "-41--36.5", "-36.5--32", "-32--27.5", "-27.5--23", "-23--18.5", "-18.5--14", "-14--9.5", "-9.5--5", "-5+"],
38
+ "estimated_snr": ["-1000-0", "0-6", "6-12", "12-18", "18-24", "24-30", "30-36", "36-42", "42-48", "48-54", "54-60", "60+"],
39
+ "max_pause": ["0-0.5", "0.5-1", "1-1.5", "1.5-2", "2-2.5", "2.5-3", "3-3.5", "3.5-4", "4-4.5", "4.5-5", "5-5.5", "5.5-6"],
40
+ "estimated_bandlimit_hz": ["495.3-3433", "3433-6371", "6371-9310", "9310-12248", "12248-15186", "15186-18124", "18124-21062", "21062-24000"],
41
+ "leading_silence_s": ["0-0.05", "0.05-0.1", "0.1-0.25", "0.25-0.5", "0.5-1", "1-2", "2-4", "4+"],
42
+ "trailing_silence_s": ["0-0.05", "0.05-0.1", "0.1-0.25", "0.25-0.5", "0.5-1", "1-2", "2-4", "4+"]
43
+ },
44
+ "quality_dropout": {
45
+ "lufs": 0.25,
46
+ "estimated_snr": 0.25,
47
+ "max_pause": 0.25,
48
+ "estimated_bandlimit_hz": 0.25,
49
+ "leading_silence_s": 0.25,
50
+ "trailing_silence_s": 0.25
51
+ },
52
+ "moe_impl": "sonic",
53
+ "moe_n_experts": 16,
54
+ "moe_router_topk": 1,
55
+ "special_topk_layers": {"26": 2},
56
+ "moe_router_dim": 128,
57
+ "moe_start_from_layer": 3,
58
+ "moe_end_from_layer": 1
59
+ }
models/ZONOS2/source.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://huggingface.co/Zyphra/ZONOS2