zeroweightai commited on
Commit
92ca865
·
verified ·
1 Parent(s): ea6b035

ZeroTTS as GGUF for the ggml/WASM runtime

Browse files

Repackaging of zeroweight-ai/ZeroTTS for the ggml runtime in the ZeroTTS repo's cpp/ directory. f32 is verified to produce frame codes bit-identical to the ONNX graphs; q8_0 and q4_0 trade download size for a measured drift in sampled codes (4.9% and 36.5%). The codec decoder stays ONNX.

Files changed (49) hide show
  1. .gitattributes +7 -33
  2. .gitignore +1 -0
  3. README.md +328 -0
  4. banner.png +3 -0
  5. config.json +22 -0
  6. gguf/zerotts-f32.gguf +3 -0
  7. gguf/zerotts-q4_0.gguf +3 -0
  8. gguf/zerotts-q8_0.gguf +3 -0
  9. null_voice_emb.npy +3 -0
  10. onnx/codec/LICENSE-Apache-2.0.txt +9 -0
  11. onnx/codec/codec_browser_onnx_meta.json +564 -0
  12. onnx/codec/moss_audio_tokenizer_decode_full.onnx +3 -0
  13. onnx/codec/moss_audio_tokenizer_decode_shared.data +3 -0
  14. onnx/codec/moss_audio_tokenizer_decode_step.onnx +3 -0
  15. silence_frame.npy +3 -0
  16. tokenizer.json +0 -0
  17. voices/baotrang/meta.json +15 -0
  18. voices/baotrang/preview.wav +3 -0
  19. voices/baotrang/voice.bin +3 -0
  20. voices/baotrang/voice.npz +3 -0
  21. voices/giahuy/meta.json +15 -0
  22. voices/giahuy/preview.wav +3 -0
  23. voices/giahuy/voice.bin +3 -0
  24. voices/giahuy/voice.npz +3 -0
  25. voices/hamy/meta.json +15 -0
  26. voices/hamy/preview.wav +3 -0
  27. voices/hamy/voice.bin +3 -0
  28. voices/hamy/voice.npz +3 -0
  29. voices/huuduc/meta.json +15 -0
  30. voices/huuduc/preview.wav +3 -0
  31. voices/huuduc/voice.bin +3 -0
  32. voices/huuduc/voice.npz +3 -0
  33. voices/index.json +164 -0
  34. voices/kimoanh/meta.json +15 -0
  35. voices/kimoanh/preview.wav +3 -0
  36. voices/kimoanh/voice.bin +3 -0
  37. voices/kimoanh/voice.npz +3 -0
  38. voices/maichi/meta.json +15 -0
  39. voices/maichi/preview.wav +3 -0
  40. voices/maichi/voice.bin +3 -0
  41. voices/maichi/voice.npz +3 -0
  42. voices/quangminh/meta.json +15 -0
  43. voices/quangminh/preview.wav +3 -0
  44. voices/quangminh/voice.bin +3 -0
  45. voices/quangminh/voice.npz +3 -0
  46. voices/tiendat/meta.json +15 -0
  47. voices/tiendat/preview.wav +3 -0
  48. voices/tiendat/voice.bin +3 -0
  49. voices/tiendat/voice.npz +3 -0
.gitattributes CHANGED
@@ -1,35 +1,9 @@
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
 
1
+ *.onnx filter=lfs diff=lfs merge=lfs -text
2
+ *.data filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
3
  *.npy filter=lfs diff=lfs merge=lfs -text
4
  *.npz filter=lfs diff=lfs merge=lfs -text
5
+ *.bin filter=lfs diff=lfs merge=lfs -text
6
+ *.wav filter=lfs diff=lfs merge=lfs -text
7
+ *.mp3 filter=lfs diff=lfs merge=lfs -text
8
+ banner.png filter=lfs diff=lfs merge=lfs -text
9
+ *.gguf filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ *.DS_Store
README.md ADDED
@@ -0,0 +1,328 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ language:
4
+ - vi
5
+ library_name: gguf
6
+ pipeline_tag: text-to-speech
7
+ tags:
8
+ - text-to-speech
9
+ - tts
10
+ - vietnamese
11
+ - gguf
12
+ - ggml
13
+ - llama-cpp
14
+ - quantized
15
+ - webassembly
16
+ - zero-shot
17
+ - speech-synthesis
18
+ - voice-cloning
19
+ - vietnamese-tts
20
+ - tieng-viet
21
+ metrics:
22
+ - wer
23
+ model-index:
24
+ - name: ZeroTTS
25
+ results:
26
+ - task:
27
+ type: text-to-speech
28
+ name: Zero-Shot Text-to-Speech
29
+ dataset:
30
+ type: zeroweight-ai/ZeroBench-TTS
31
+ name: ZeroBench-TTS
32
+ split: test
33
+ metrics:
34
+ - type: wer
35
+ value: 1.03
36
+ name: WER (%) — raw text
37
+ - type: utmos
38
+ value: 2.91
39
+ name: UTMOSv2 naturalness MOS
40
+ - type: speaker_similarity
41
+ value: 0.936
42
+ name: Speaker similarity (WavLM-SV cosine)
43
+ - type: excess_silence
44
+ value: 0.029
45
+ name: Excess silence (s)
46
+ - task:
47
+ type: text-to-speech
48
+ name: Zero-Shot TTS — monolingual Vietnamese
49
+ dataset:
50
+ type: zeroweight-ai/ZeroBench-TTS
51
+ name: ZeroBench-TTS (vietnamese)
52
+ config: vietnamese
53
+ split: test
54
+ metrics:
55
+ - type: wer
56
+ value: 0.16
57
+ name: WER (%) — raw text
58
+ - task:
59
+ type: text-to-speech
60
+ name: Zero-Shot TTS — Vietnamese/English code-switching
61
+ dataset:
62
+ type: zeroweight-ai/ZeroBench-TTS
63
+ name: ZeroBench-TTS (code_switch)
64
+ config: code_switch
65
+ split: test
66
+ metrics:
67
+ - type: wer
68
+ value: 0.97
69
+ name: WER (%) — raw text
70
+ - task:
71
+ type: text-to-speech
72
+ name: Zero-Shot TTS — cross-lingual voice prompt
73
+ dataset:
74
+ type: zeroweight-ai/ZeroBench-TTS
75
+ name: ZeroBench-TTS (cross_lingual)
76
+ config: cross_lingual
77
+ split: test
78
+ metrics:
79
+ - type: wer
80
+ value: 1.42
81
+ name: WER (%) — raw text
82
+ - task:
83
+ type: text-to-speech
84
+ name: Zero-Shot TTS — acronyms, dates, numbers
85
+ dataset:
86
+ type: zeroweight-ai/ZeroBench-TTS
87
+ name: ZeroBench-TTS (challenging)
88
+ config: challenging
89
+ split: test
90
+ metrics:
91
+ - type: wer
92
+ value: 1.75
93
+ name: WER (%) — raw text
94
+ ---
95
+
96
+ <img src="banner.png" alt="ZeroTTS — Vietnamese zero-shot text-to-speech" width="100%">
97
+
98
+ # ZeroTTS — GGUF
99
+
100
+ ### The ZeroTTS weights packaged as GGUF, for the [ggml](https://github.com/ggml-org/ggml) runtime instead of onnxruntime. Same model, ~4× smaller download, and it runs in the browser under WebAssembly.
101
+
102
+ This is a **repackaging**, not a different model. The weights are the same ones
103
+ in [`zeroweight-ai/ZeroTTS`](https://huggingface.co/zeroweight-ai/ZeroTTS); the
104
+ `f32` file here is verified to produce **bit-identical frame codes** to the ONNX
105
+ graphs for the same text, voice and random draws. If you want the ONNX runtime
106
+ or the `zerotts` pip package, use that repo — this one is for the ggml/WASM
107
+ runtime in [`cpp/`](https://github.com/zeroweight-ai/ZeroTTS/tree/main/cpp).
108
+
109
+ **The most accurate open Vietnamese TTS we know of — 4× fewer word errors than
110
+ the next best model**, and it runs faster than real time on a laptop CPU.
111
+
112
+ * 🎯 **Ultra-natural** — 2.91 UTMOS above every other open Vietnamese
113
+ system, with near-zero dead air (0.029 s).
114
+ * 🗣️ **Zero-shot voice cloning** — a voice is a small latent array; drop it in
115
+ and the model speaks in it, cloned from as little as 3 seconds of reference
116
+ audio (up to 30 seconds). No fine-tuning, no per-speaker training.
117
+ * ⚡ **Real-time on CPU, streaming** — ~2× faster than real time (RTF 0.5×),
118
+ first audio chunk in ~70 ms. No GPU required.
119
+ * 🇻🇳 **Built for Vietnamese** — tones, code-switched English, and
120
+ reads `31/12/2025` and `ZeroTTS` without text normalizer.
121
+
122
+ * Code, examples, browser demo: **https://github.com/zeroweight-ai/ZeroTTS**
123
+ * Benchmark dataset: **https://huggingface.co/datasets/zeroweight-ai/ZeroBench-TTS**
124
+ * Blogpost: **https://zeroweight.ai/blog/zero-tts**
125
+
126
+ ## Samples
127
+
128
+ **Two-speaker conversation**
129
+
130
+ <audio controls><source src="https://huggingface.co/zeroweight-ai/ZeroTTS/resolve/main/samples/conversation.mp3" type="audio/mpeg"></audio>
131
+
132
+ **Long-form narration**
133
+
134
+ <audio controls><source src="https://huggingface.co/zeroweight-ai/ZeroTTS/resolve/main/samples/storytelling.mp3" type="audio/mpeg"></audio>
135
+
136
+ **News read, code-switched English**
137
+
138
+ <audio controls><source src="https://huggingface.co/zeroweight-ai/ZeroTTS/resolve/main/samples/news-code-switch.mp3" type="audio/mpeg"></audio>
139
+
140
+ **Cross-lingual**
141
+
142
+ Reference audio (Vietnamese)
143
+
144
+ <audio controls><source src="https://huggingface.co/zeroweight-ai/ZeroTTS/resolve/main/samples/cross-lingual-reference-vi.mp3" type="audio/mpeg"></audio>
145
+
146
+ Output (English)
147
+
148
+ <audio controls><source src="https://huggingface.co/zeroweight-ai/ZeroTTS/resolve/main/samples/cross-lingual-english.mp3" type="audio/mpeg"></audio>
149
+
150
+ ## Files
151
+
152
+ | path | what it is |
153
+ |---|---|
154
+ | `gguf/zerotts-q8_0.gguf` | **the default** — 206 MB, the text encoder, global decoder and depth decoder |
155
+ | `gguf/zerotts-q4_0.gguf` | 124 MB, when the download budget is tight |
156
+ | `gguf/zerotts-f32.gguf` | 772 MB, unquantized; the reference the others are measured against |
157
+ | `onnx/codec/` | the MOSS audio-tokenizer **decoder**, still ONNX (Apache-2.0, ~45 MB) — it is not on the per-frame hot path |
158
+ | `voices/` | the voice latents; a voice is a 10×768 float32 array |
159
+ | `tokenizer.json`, `config.json`, `null_voice_emb.npy`, `silence_frame.npy` | runtime side files, identical to the ONNX repo |
160
+
161
+ You need **one** `.gguf` plus `onnx/codec/`, `voices/` and the side files.
162
+
163
+ ### Which one to take
164
+
165
+ Measured in Chrome on a 14-core Apple-silicon laptop, one 3.2 s utterance,
166
+ frame generation only. "drift" is the share of sampled codes that come out
167
+ differently from `f32` when both are driven along the same code sequence — the
168
+ `<eoa>` stop decision was identical in every build.
169
+
170
+ | file | size | drift vs f32 | 1 thread | 4 threads | 8 threads |
171
+ |---|---:|---:|---:|---:|---:|
172
+ | `f32` | 772 MB | — | **2.40×** | **6.1×** | **6.2×** |
173
+ | `q8_0` | 206 MB | 4.9% | 1.06× | 3.6× | 5.3× |
174
+ | `q4_0` | 124 MB | 36.5% | 1.27× | 4.1× | 5.8× |
175
+
176
+ For reference, the ONNX graphs in
177
+ [`zeroweight-ai/ZeroTTS`](https://huggingface.co/zeroweight-ai/ZeroTTS) run at
178
+ 4.2× on the same machine, at the 4 threads onnxruntime-web caps itself to.
179
+
180
+ **Quantization here buys download size, not speed.** WebAssembly's SIMD has no
181
+ integer dot-product instruction, so a `q8_0` block costs roughly 20 SIMD ops per
182
+ 32 multiply-accumulates where `f32` costs 8 fused multiply-adds — on a machine
183
+ with memory bandwidth to spare the extra instructions cost more than the saved
184
+ bytes. Take `q8_0` unless you have a reason not to: it is 4× smaller than the
185
+ ONNX graphs and faster than them at the thread counts each actually uses (5.3×
186
+ on 8 threads against 4.2× on 4). Take `f32` if you want bit-exactness, the
187
+ highest speed at any thread count, or you are running on very few cores — it is
188
+ the fastest build here, just the largest. `q4_0` changes a third of the drawn
189
+ codes, which is audible as a different take rather than a broken one, but it is
190
+ the wrong trade unless 124 MB is the binding constraint.
191
+
192
+ Numbers on hardware that is genuinely short of *bandwidth* rather than compute
193
+ should look different; the benchmark page in the repo re-runs this table in one
194
+ click.
195
+
196
+ ## Usage
197
+
198
+ The runtime is [`cpp/`](https://github.com/zeroweight-ai/ZeroTTS/tree/main/cpp)
199
+ in the main repository — a ggml implementation of the generation loop, building
200
+ natively and to WebAssembly.
201
+
202
+ ```bash
203
+ git clone --recurse-submodules https://github.com/zeroweight-ai/ZeroTTS
204
+ cd ZeroTTS/cpp
205
+ cmake -B build -DCMAKE_BUILD_TYPE=Release . && cmake --build build -j
206
+ ./build/zerotts-bench /path/to/zerotts-q8_0.gguf voice.bin text_ids.txt
207
+ ```
208
+
209
+ In the browser, the demo in [`js/`](https://github.com/zeroweight-ai/ZeroTTS/tree/main/js)
210
+ uses this repo by default:
211
+
212
+ ```bash
213
+ cd ZeroTTS/js && npm install && npm run dev
214
+ ```
215
+
216
+ `voice.bin` is the raw little-endian float32 blob under `voices/<name>/` —
217
+ `voice.npz` is the same latents for numpy callers.
218
+
219
+ For the Python package, the ONNX graphs and `pip install zerotts`, use
220
+ [`zeroweight-ai/ZeroTTS`](https://huggingface.co/zeroweight-ai/ZeroTTS) instead.
221
+
222
+ ## Benchmarks
223
+
224
+ These are the unquantized model's quality numbers, measured through the
225
+ PyTorch runtime. `f32` here is that model exactly; see the drift column above
226
+ for what the quantized files change.
227
+
228
+
229
+ Measured on **[ZeroBench-TTS](https://huggingface.co/datasets/zeroweight-ai/ZeroBench-TTS)**
230
+
231
+ Every system reads **raw text** — dates, numbers and acronyms verbatim, exactly
232
+ as they appear in the wild, with no text frontend in front of the model.
233
+
234
+ | | **ZeroTTS** | OmniVoice | XTTS-v2-vietnamse | viXTTS |
235
+ |---|:-:|:-:|:-:|:-:|
236
+ | **WER** ↓ | **1.03 %** | 4.13 % | 16.42 % | 18.40 % |
237
+ | **Naturalness** (UTMOS) ↑ | **2.91** | 2.76 | 2.43 | 2.35 |
238
+ | **Voice similarity** (SSIM) ↑ | 0.936 | **0.950** | 0.940 | 0.935 |
239
+ | **Dead air** (excess silence) ↓ | **0.029 s** | 0.340 s | 0.532 s | 0.233 s |
240
+ | **RTF, CPU** ↓ | **0.50×** | 6.12× | 0.71× | 0.73× |
241
+ | **Time to first audio, CPU** ↓ | **~70 ms** | ~34 s | ~6.1 s | ~5.1 s |
242
+ | **Parameters** ↓ | **202 M** | 775 M | 467 M | 467 M |
243
+
244
+ **4× fewer word errors than the next-best system**, and the fastest of the four
245
+ on CPU. The gap is much wider in latency than in throughput: the two XTTS
246
+ fine-tunes also beat real time (0.71×) but need seconds to emit their first
247
+ sample, while OmniVoice is 6× *slower* than real time. All three are sized and
248
+ tuned for a GPU, and it shows.
249
+
250
+ Full comparison tables, per-subset breakdowns, and CPU speed methodology:
251
+ **[docs/BENCHMARKS.md](https://github.com/zeroweight-ai/ZeroTTS/blob/main/docs/BENCHMARKS.md)**
252
+
253
+ ### Speed — CPU
254
+
255
+ RTF (realtime factor, wall-clock synthesis time ÷ output audio duration — lower
256
+ is faster; below 1× is faster than real time) and time-to-first-audio, all
257
+ measured **on CPU**, single request, 8 inference threads pinned to a dedicated
258
+ core pool (no other synthesis running concurrently). Three Vietnamese samples —
259
+ short (26 chars), medium (77 chars), long (227 chars) — each run 6 times with
260
+ the first 2 (cold-cache) discarded; figures below are the mean of the
261
+ remaining 4.
262
+
263
+ | | **ZeroTTS** | OmniVoice | XTTS-v2-vietnamse | viXTTS |
264
+ |---|:-:|:-:|:-:|:-:|
265
+ | RTF — short | **0.51×** | 10.87× | 0.70× | 0.71× |
266
+ | RTF — medium | **0.47×** | 4.82× | 0.70× | 0.70× |
267
+ | RTF — long | **0.53×** | 2.67× | 0.71× | 0.78× |
268
+ | TTFA — short | **53 ms** | 21.7 s | 4.02 s | 2.45 s |
269
+ | TTFA — medium | **66 ms** | 28.9 s | 4.02 s | 3.72 s |
270
+ | TTFA — long | **89 ms** | 52.3 s | 10.3 s | 9.22 s |
271
+
272
+ ZeroTTS's time-to-first-audio comes from its real streaming path — first audio frame,
273
+ not first full utterance. The three baselines have no working CPU streaming
274
+ path, so their TTFA is the time to the complete utterance.
275
+
276
+ ## Voices, and voice cloning
277
+
278
+ A voice is a small array of speaker latents, `(1, n_voice_queries, d_model)`,
279
+ shipped as a `.npz` under `voices/`. That array is the entire speaker
280
+ conditioning — no reference transcript, no audio prompt.
281
+
282
+ > **Voice cloning is not available in this release.** Those latents come from a
283
+ > voice encoder that reads a reference clip, and that encoder is not published.
284
+ > This repository ships ready-to-use voices; it cannot create new ones from
285
+ > audio.
286
+ >
287
+ > To get latents for your own speaker, see **[zeroweight.ai](https://zeroweight.ai)**
288
+ > or get in touch.
289
+
290
+ Because a voice is just an array, latents obtained that way drop into
291
+ `voices/<name>/voice.npz` and work with no code change.
292
+
293
+ ## Intended use and limitations
294
+
295
+ Built for **Vietnamese**. It handles English words embedded in Vietnamese text
296
+ (`code_switch`), but it is not an English TTS system and is not evaluated as one.
297
+
298
+ Do not use it to impersonate a real person, to generate speech attributed to
299
+ someone without their consent, or to produce audio intended to deceive. The
300
+ shipped voices are for evaluation and demos.
301
+
302
+ Synthetic speech should be disclosed as synthetic wherever a listener might
303
+ reasonably assume otherwise.
304
+
305
+ ## Credits
306
+
307
+ Speech codec: **MOSS-Audio-Tokenizer-Nano** by the OpenMOSS team, Apache-2.0.
308
+ Its ONNX **decoder** graphs are redistributed under `onnx/codec/` so ZeroTTS has
309
+ no external runtime dependency; the encoder is not included. See
310
+ `onnx/codec/LICENSE-Apache-2.0.txt`.
311
+
312
+ ```bibtex
313
+ @misc{gong2026mossaudiotokenizerscalingaudiotokenizers,
314
+ title={MOSS-Audio-Tokenizer: Scaling Audio Tokenizers for Future Audio Foundation Models},
315
+ author={Yitian Gong and Kuangwei Chen and Zhaoye Fei and Xiaogui Yang and Ke Chen
316
+ and Yang Wang and Kexin Huang and Mingshu Chen and Ruixiao Li
317
+ and Qingyuan Cheng and Shimin Li and Xipeng Qiu},
318
+ year={2026}, eprint={2602.10934}, archivePrefix={arXiv}, primaryClass={cs.SD}
319
+ }
320
+ ```
321
+
322
+ ## License
323
+
324
+ ZeroTTS weights and code: **MIT**.
325
+
326
+ The ZeroBench-TTS *dataset* is CC-BY-NC-4.0 because it redistributes reference
327
+ audio from VIVOS, viVoice, phoaudiobook and Emilia. That license applies to the
328
+ benchmark dataset only — **not** to these weights.
banner.png ADDED

Git LFS Details

  • SHA256: 0dd95a69fce14c796d020d4d8bb743857bd30b7c54646d362ee6d3002181139b
  • Pointer size: 131 Bytes
  • Size of remote file: 248 kB
config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "text_format": "bpe",
3
+ "vocab_size": 8192,
4
+ "num_codebooks": 16,
5
+ "codebook_size": 1024,
6
+ "d_model": 768,
7
+ "n_heads": 12,
8
+ "n_layers": 9,
9
+ "n_voice_queries": 10,
10
+ "special_tokens": {
11
+ "<pad>": 0,
12
+ "<bos>": 1,
13
+ "<eot>": 2,
14
+ "<soa>": 3,
15
+ "<slot>": 4,
16
+ "<eoa>": 5,
17
+ "<en>": 6,
18
+ "<vi>": 7
19
+ },
20
+ "sample_rate": 48000,
21
+ "codec_frame_rate": 12.5
22
+ }
gguf/zerotts-f32.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b0490c317b369e9a77a17eb1f77f5d5fb98d6e3fcb82a3002e8ea62ebbab531
3
+ size 809299360
gguf/zerotts-q4_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:594239d02e5e1d0ba260561052df627deb523afa78706887a8e739be7a611395
3
+ size 130228640
gguf/zerotts-q8_0.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2841287bed42440a0d0b373639acc0206b07e2895be5e48f3eaab46570f1820c
3
+ size 215556512
null_voice_emb.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec014c14f79e8fc16f4ca6ea557f33fa2cbd7d448b5de5f467aace9ca0321e9f
3
+ size 30848
onnx/codec/LICENSE-Apache-2.0.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ MOSS-Audio-Tokenizer-Nano
2
+ Copyright the OpenMOSS Team.
3
+ Licensed under the Apache License, Version 2.0.
4
+ https://www.apache.org/licenses/LICENSE-2.0
5
+
6
+ Source: https://huggingface.co/OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano-ONNX
7
+ https://github.com/OpenMOSS/MOSS-Audio-Tokenizer
8
+
9
+ Only the DECODER graphs are redistributed here; the encoder is not included.
onnx/codec/codec_browser_onnx_meta.json ADDED
@@ -0,0 +1,564 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format_version": 2,
3
+ "checkpoint_path": "MOSS-Audio-Tokenizer-Nano",
4
+ "files": {
5
+ "decode_full": "moss_audio_tokenizer_decode_full.onnx",
6
+ "decode_step": "moss_audio_tokenizer_decode_step.onnx"
7
+ },
8
+ "external_data_files": {
9
+ "moss_audio_tokenizer_decode_full.onnx": [
10
+ "moss_audio_tokenizer_decode_shared.data"
11
+ ],
12
+ "moss_audio_tokenizer_decode_step.onnx": [
13
+ "moss_audio_tokenizer_decode_shared.data"
14
+ ]
15
+ },
16
+ "codec_config": {
17
+ "sample_rate": 48000,
18
+ "channels": 2,
19
+ "downsample_rate": 3840,
20
+ "num_quantizers": 16
21
+ },
22
+ "onnx": {
23
+ "opset": 17,
24
+ "decode_input_names": [
25
+ "audio_codes",
26
+ "audio_code_lengths"
27
+ ],
28
+ "decode_output_names": [
29
+ "audio",
30
+ "audio_lengths"
31
+ ],
32
+ "decode_step_input_names": [
33
+ "audio_codes",
34
+ "audio_code_lengths",
35
+ "transformer_offset_0",
36
+ "transformer_offset_1",
37
+ "transformer_offset_2",
38
+ "transformer_offset_3",
39
+ "attn_offset_0",
40
+ "attn_cached_keys_0",
41
+ "attn_cached_values_0",
42
+ "attn_cached_positions_0",
43
+ "attn_offset_1",
44
+ "attn_cached_keys_1",
45
+ "attn_cached_values_1",
46
+ "attn_cached_positions_1",
47
+ "attn_offset_2",
48
+ "attn_cached_keys_2",
49
+ "attn_cached_values_2",
50
+ "attn_cached_positions_2",
51
+ "attn_offset_3",
52
+ "attn_cached_keys_3",
53
+ "attn_cached_values_3",
54
+ "attn_cached_positions_3",
55
+ "attn_offset_4",
56
+ "attn_cached_keys_4",
57
+ "attn_cached_values_4",
58
+ "attn_cached_positions_4",
59
+ "attn_offset_5",
60
+ "attn_cached_keys_5",
61
+ "attn_cached_values_5",
62
+ "attn_cached_positions_5",
63
+ "attn_offset_6",
64
+ "attn_cached_keys_6",
65
+ "attn_cached_values_6",
66
+ "attn_cached_positions_6",
67
+ "attn_offset_7",
68
+ "attn_cached_keys_7",
69
+ "attn_cached_values_7",
70
+ "attn_cached_positions_7",
71
+ "attn_offset_8",
72
+ "attn_cached_keys_8",
73
+ "attn_cached_values_8",
74
+ "attn_cached_positions_8",
75
+ "attn_offset_9",
76
+ "attn_cached_keys_9",
77
+ "attn_cached_values_9",
78
+ "attn_cached_positions_9",
79
+ "attn_offset_10",
80
+ "attn_cached_keys_10",
81
+ "attn_cached_values_10",
82
+ "attn_cached_positions_10",
83
+ "attn_offset_11",
84
+ "attn_cached_keys_11",
85
+ "attn_cached_values_11",
86
+ "attn_cached_positions_11"
87
+ ],
88
+ "decode_step_output_names": [
89
+ "audio",
90
+ "audio_lengths",
91
+ "transformer_offset_out_0",
92
+ "transformer_offset_out_1",
93
+ "transformer_offset_out_2",
94
+ "transformer_offset_out_3",
95
+ "attn_offset_out_0",
96
+ "attn_cached_keys_out_0",
97
+ "attn_cached_values_out_0",
98
+ "attn_cached_positions_out_0",
99
+ "attn_offset_out_1",
100
+ "attn_cached_keys_out_1",
101
+ "attn_cached_values_out_1",
102
+ "attn_cached_positions_out_1",
103
+ "attn_offset_out_2",
104
+ "attn_cached_keys_out_2",
105
+ "attn_cached_values_out_2",
106
+ "attn_cached_positions_out_2",
107
+ "attn_offset_out_3",
108
+ "attn_cached_keys_out_3",
109
+ "attn_cached_values_out_3",
110
+ "attn_cached_positions_out_3",
111
+ "attn_offset_out_4",
112
+ "attn_cached_keys_out_4",
113
+ "attn_cached_values_out_4",
114
+ "attn_cached_positions_out_4",
115
+ "attn_offset_out_5",
116
+ "attn_cached_keys_out_5",
117
+ "attn_cached_values_out_5",
118
+ "attn_cached_positions_out_5",
119
+ "attn_offset_out_6",
120
+ "attn_cached_keys_out_6",
121
+ "attn_cached_values_out_6",
122
+ "attn_cached_positions_out_6",
123
+ "attn_offset_out_7",
124
+ "attn_cached_keys_out_7",
125
+ "attn_cached_values_out_7",
126
+ "attn_cached_positions_out_7",
127
+ "attn_offset_out_8",
128
+ "attn_cached_keys_out_8",
129
+ "attn_cached_values_out_8",
130
+ "attn_cached_positions_out_8",
131
+ "attn_offset_out_9",
132
+ "attn_cached_keys_out_9",
133
+ "attn_cached_values_out_9",
134
+ "attn_cached_positions_out_9",
135
+ "attn_offset_out_10",
136
+ "attn_cached_keys_out_10",
137
+ "attn_cached_values_out_10",
138
+ "attn_cached_positions_out_10",
139
+ "attn_offset_out_11",
140
+ "attn_cached_keys_out_11",
141
+ "attn_cached_values_out_11",
142
+ "attn_cached_positions_out_11"
143
+ ]
144
+ },
145
+ "streaming_decode": {
146
+ "batch_size": 1,
147
+ "transformer_offsets": [
148
+ {
149
+ "index": 0,
150
+ "decoder_index": 1,
151
+ "input_name": "transformer_offset_0",
152
+ "output_name": "transformer_offset_out_0",
153
+ "shape": [
154
+ 1
155
+ ],
156
+ "dtype": "int32"
157
+ },
158
+ {
159
+ "index": 1,
160
+ "decoder_index": 3,
161
+ "input_name": "transformer_offset_1",
162
+ "output_name": "transformer_offset_out_1",
163
+ "shape": [
164
+ 1
165
+ ],
166
+ "dtype": "int32"
167
+ },
168
+ {
169
+ "index": 2,
170
+ "decoder_index": 5,
171
+ "input_name": "transformer_offset_2",
172
+ "output_name": "transformer_offset_out_2",
173
+ "shape": [
174
+ 1
175
+ ],
176
+ "dtype": "int32"
177
+ },
178
+ {
179
+ "index": 3,
180
+ "decoder_index": 7,
181
+ "input_name": "transformer_offset_3",
182
+ "output_name": "transformer_offset_out_3",
183
+ "shape": [
184
+ 1
185
+ ],
186
+ "dtype": "int32"
187
+ }
188
+ ],
189
+ "attention_caches": [
190
+ {
191
+ "index": 0,
192
+ "decoder_index": 1,
193
+ "layer_index": 0,
194
+ "context": 500,
195
+ "num_heads": 4,
196
+ "head_dim": 64,
197
+ "offset_input_name": "attn_offset_0",
198
+ "offset_output_name": "attn_offset_out_0",
199
+ "cached_keys_input_name": "attn_cached_keys_0",
200
+ "cached_keys_output_name": "attn_cached_keys_out_0",
201
+ "cached_values_input_name": "attn_cached_values_0",
202
+ "cached_values_output_name": "attn_cached_values_out_0",
203
+ "cached_positions_input_name": "attn_cached_positions_0",
204
+ "cached_positions_output_name": "attn_cached_positions_out_0",
205
+ "offset_shape": [
206
+ 1
207
+ ],
208
+ "cache_shape": [
209
+ 1,
210
+ 4,
211
+ 500,
212
+ 64
213
+ ],
214
+ "positions_shape": [
215
+ 1,
216
+ 500
217
+ ],
218
+ "cache_dtype": "float32",
219
+ "positions_dtype": "int32"
220
+ },
221
+ {
222
+ "index": 1,
223
+ "decoder_index": 1,
224
+ "layer_index": 1,
225
+ "context": 500,
226
+ "num_heads": 4,
227
+ "head_dim": 64,
228
+ "offset_input_name": "attn_offset_1",
229
+ "offset_output_name": "attn_offset_out_1",
230
+ "cached_keys_input_name": "attn_cached_keys_1",
231
+ "cached_keys_output_name": "attn_cached_keys_out_1",
232
+ "cached_values_input_name": "attn_cached_values_1",
233
+ "cached_values_output_name": "attn_cached_values_out_1",
234
+ "cached_positions_input_name": "attn_cached_positions_1",
235
+ "cached_positions_output_name": "attn_cached_positions_out_1",
236
+ "offset_shape": [
237
+ 1
238
+ ],
239
+ "cache_shape": [
240
+ 1,
241
+ 4,
242
+ 500,
243
+ 64
244
+ ],
245
+ "positions_shape": [
246
+ 1,
247
+ 500
248
+ ],
249
+ "cache_dtype": "float32",
250
+ "positions_dtype": "int32"
251
+ },
252
+ {
253
+ "index": 2,
254
+ "decoder_index": 1,
255
+ "layer_index": 2,
256
+ "context": 500,
257
+ "num_heads": 4,
258
+ "head_dim": 64,
259
+ "offset_input_name": "attn_offset_2",
260
+ "offset_output_name": "attn_offset_out_2",
261
+ "cached_keys_input_name": "attn_cached_keys_2",
262
+ "cached_keys_output_name": "attn_cached_keys_out_2",
263
+ "cached_values_input_name": "attn_cached_values_2",
264
+ "cached_values_output_name": "attn_cached_values_out_2",
265
+ "cached_positions_input_name": "attn_cached_positions_2",
266
+ "cached_positions_output_name": "attn_cached_positions_out_2",
267
+ "offset_shape": [
268
+ 1
269
+ ],
270
+ "cache_shape": [
271
+ 1,
272
+ 4,
273
+ 500,
274
+ 64
275
+ ],
276
+ "positions_shape": [
277
+ 1,
278
+ 500
279
+ ],
280
+ "cache_dtype": "float32",
281
+ "positions_dtype": "int32"
282
+ },
283
+ {
284
+ "index": 3,
285
+ "decoder_index": 1,
286
+ "layer_index": 3,
287
+ "context": 500,
288
+ "num_heads": 4,
289
+ "head_dim": 64,
290
+ "offset_input_name": "attn_offset_3",
291
+ "offset_output_name": "attn_offset_out_3",
292
+ "cached_keys_input_name": "attn_cached_keys_3",
293
+ "cached_keys_output_name": "attn_cached_keys_out_3",
294
+ "cached_values_input_name": "attn_cached_values_3",
295
+ "cached_values_output_name": "attn_cached_values_out_3",
296
+ "cached_positions_input_name": "attn_cached_positions_3",
297
+ "cached_positions_output_name": "attn_cached_positions_out_3",
298
+ "offset_shape": [
299
+ 1
300
+ ],
301
+ "cache_shape": [
302
+ 1,
303
+ 4,
304
+ 500,
305
+ 64
306
+ ],
307
+ "positions_shape": [
308
+ 1,
309
+ 500
310
+ ],
311
+ "cache_dtype": "float32",
312
+ "positions_dtype": "int32"
313
+ },
314
+ {
315
+ "index": 4,
316
+ "decoder_index": 3,
317
+ "layer_index": 0,
318
+ "context": 800,
319
+ "num_heads": 4,
320
+ "head_dim": 64,
321
+ "offset_input_name": "attn_offset_4",
322
+ "offset_output_name": "attn_offset_out_4",
323
+ "cached_keys_input_name": "attn_cached_keys_4",
324
+ "cached_keys_output_name": "attn_cached_keys_out_4",
325
+ "cached_values_input_name": "attn_cached_values_4",
326
+ "cached_values_output_name": "attn_cached_values_out_4",
327
+ "cached_positions_input_name": "attn_cached_positions_4",
328
+ "cached_positions_output_name": "attn_cached_positions_out_4",
329
+ "offset_shape": [
330
+ 1
331
+ ],
332
+ "cache_shape": [
333
+ 1,
334
+ 4,
335
+ 800,
336
+ 64
337
+ ],
338
+ "positions_shape": [
339
+ 1,
340
+ 800
341
+ ],
342
+ "cache_dtype": "float32",
343
+ "positions_dtype": "int32"
344
+ },
345
+ {
346
+ "index": 5,
347
+ "decoder_index": 3,
348
+ "layer_index": 1,
349
+ "context": 800,
350
+ "num_heads": 4,
351
+ "head_dim": 64,
352
+ "offset_input_name": "attn_offset_5",
353
+ "offset_output_name": "attn_offset_out_5",
354
+ "cached_keys_input_name": "attn_cached_keys_5",
355
+ "cached_keys_output_name": "attn_cached_keys_out_5",
356
+ "cached_values_input_name": "attn_cached_values_5",
357
+ "cached_values_output_name": "attn_cached_values_out_5",
358
+ "cached_positions_input_name": "attn_cached_positions_5",
359
+ "cached_positions_output_name": "attn_cached_positions_out_5",
360
+ "offset_shape": [
361
+ 1
362
+ ],
363
+ "cache_shape": [
364
+ 1,
365
+ 4,
366
+ 800,
367
+ 64
368
+ ],
369
+ "positions_shape": [
370
+ 1,
371
+ 800
372
+ ],
373
+ "cache_dtype": "float32",
374
+ "positions_dtype": "int32"
375
+ },
376
+ {
377
+ "index": 6,
378
+ "decoder_index": 5,
379
+ "layer_index": 0,
380
+ "context": 1200,
381
+ "num_heads": 4,
382
+ "head_dim": 64,
383
+ "offset_input_name": "attn_offset_6",
384
+ "offset_output_name": "attn_offset_out_6",
385
+ "cached_keys_input_name": "attn_cached_keys_6",
386
+ "cached_keys_output_name": "attn_cached_keys_out_6",
387
+ "cached_values_input_name": "attn_cached_values_6",
388
+ "cached_values_output_name": "attn_cached_values_out_6",
389
+ "cached_positions_input_name": "attn_cached_positions_6",
390
+ "cached_positions_output_name": "attn_cached_positions_out_6",
391
+ "offset_shape": [
392
+ 1
393
+ ],
394
+ "cache_shape": [
395
+ 1,
396
+ 4,
397
+ 1200,
398
+ 64
399
+ ],
400
+ "positions_shape": [
401
+ 1,
402
+ 1200
403
+ ],
404
+ "cache_dtype": "float32",
405
+ "positions_dtype": "int32"
406
+ },
407
+ {
408
+ "index": 7,
409
+ "decoder_index": 5,
410
+ "layer_index": 1,
411
+ "context": 1200,
412
+ "num_heads": 4,
413
+ "head_dim": 64,
414
+ "offset_input_name": "attn_offset_7",
415
+ "offset_output_name": "attn_offset_out_7",
416
+ "cached_keys_input_name": "attn_cached_keys_7",
417
+ "cached_keys_output_name": "attn_cached_keys_out_7",
418
+ "cached_values_input_name": "attn_cached_values_7",
419
+ "cached_values_output_name": "attn_cached_values_out_7",
420
+ "cached_positions_input_name": "attn_cached_positions_7",
421
+ "cached_positions_output_name": "attn_cached_positions_out_7",
422
+ "offset_shape": [
423
+ 1
424
+ ],
425
+ "cache_shape": [
426
+ 1,
427
+ 4,
428
+ 1200,
429
+ 64
430
+ ],
431
+ "positions_shape": [
432
+ 1,
433
+ 1200
434
+ ],
435
+ "cache_dtype": "float32",
436
+ "positions_dtype": "int32"
437
+ },
438
+ {
439
+ "index": 8,
440
+ "decoder_index": 7,
441
+ "layer_index": 0,
442
+ "context": 1600,
443
+ "num_heads": 4,
444
+ "head_dim": 64,
445
+ "offset_input_name": "attn_offset_8",
446
+ "offset_output_name": "attn_offset_out_8",
447
+ "cached_keys_input_name": "attn_cached_keys_8",
448
+ "cached_keys_output_name": "attn_cached_keys_out_8",
449
+ "cached_values_input_name": "attn_cached_values_8",
450
+ "cached_values_output_name": "attn_cached_values_out_8",
451
+ "cached_positions_input_name": "attn_cached_positions_8",
452
+ "cached_positions_output_name": "attn_cached_positions_out_8",
453
+ "offset_shape": [
454
+ 1
455
+ ],
456
+ "cache_shape": [
457
+ 1,
458
+ 4,
459
+ 1600,
460
+ 64
461
+ ],
462
+ "positions_shape": [
463
+ 1,
464
+ 1600
465
+ ],
466
+ "cache_dtype": "float32",
467
+ "positions_dtype": "int32"
468
+ },
469
+ {
470
+ "index": 9,
471
+ "decoder_index": 7,
472
+ "layer_index": 1,
473
+ "context": 1600,
474
+ "num_heads": 4,
475
+ "head_dim": 64,
476
+ "offset_input_name": "attn_offset_9",
477
+ "offset_output_name": "attn_offset_out_9",
478
+ "cached_keys_input_name": "attn_cached_keys_9",
479
+ "cached_keys_output_name": "attn_cached_keys_out_9",
480
+ "cached_values_input_name": "attn_cached_values_9",
481
+ "cached_values_output_name": "attn_cached_values_out_9",
482
+ "cached_positions_input_name": "attn_cached_positions_9",
483
+ "cached_positions_output_name": "attn_cached_positions_out_9",
484
+ "offset_shape": [
485
+ 1
486
+ ],
487
+ "cache_shape": [
488
+ 1,
489
+ 4,
490
+ 1600,
491
+ 64
492
+ ],
493
+ "positions_shape": [
494
+ 1,
495
+ 1600
496
+ ],
497
+ "cache_dtype": "float32",
498
+ "positions_dtype": "int32"
499
+ },
500
+ {
501
+ "index": 10,
502
+ "decoder_index": 7,
503
+ "layer_index": 2,
504
+ "context": 1600,
505
+ "num_heads": 4,
506
+ "head_dim": 64,
507
+ "offset_input_name": "attn_offset_10",
508
+ "offset_output_name": "attn_offset_out_10",
509
+ "cached_keys_input_name": "attn_cached_keys_10",
510
+ "cached_keys_output_name": "attn_cached_keys_out_10",
511
+ "cached_values_input_name": "attn_cached_values_10",
512
+ "cached_values_output_name": "attn_cached_values_out_10",
513
+ "cached_positions_input_name": "attn_cached_positions_10",
514
+ "cached_positions_output_name": "attn_cached_positions_out_10",
515
+ "offset_shape": [
516
+ 1
517
+ ],
518
+ "cache_shape": [
519
+ 1,
520
+ 4,
521
+ 1600,
522
+ 64
523
+ ],
524
+ "positions_shape": [
525
+ 1,
526
+ 1600
527
+ ],
528
+ "cache_dtype": "float32",
529
+ "positions_dtype": "int32"
530
+ },
531
+ {
532
+ "index": 11,
533
+ "decoder_index": 7,
534
+ "layer_index": 3,
535
+ "context": 1600,
536
+ "num_heads": 4,
537
+ "head_dim": 64,
538
+ "offset_input_name": "attn_offset_11",
539
+ "offset_output_name": "attn_offset_out_11",
540
+ "cached_keys_input_name": "attn_cached_keys_11",
541
+ "cached_keys_output_name": "attn_cached_keys_out_11",
542
+ "cached_values_input_name": "attn_cached_values_11",
543
+ "cached_values_output_name": "attn_cached_values_out_11",
544
+ "cached_positions_input_name": "attn_cached_positions_11",
545
+ "cached_positions_output_name": "attn_cached_positions_out_11",
546
+ "offset_shape": [
547
+ 1
548
+ ],
549
+ "cache_shape": [
550
+ 1,
551
+ 4,
552
+ 1600,
553
+ 64
554
+ ],
555
+ "positions_shape": [
556
+ 1,
557
+ 1600
558
+ ],
559
+ "cache_dtype": "float32",
560
+ "positions_dtype": "int32"
561
+ }
562
+ ]
563
+ }
564
+ }
onnx/codec/moss_audio_tokenizer_decode_full.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0fbbafe3fd4afa2a019af5c5ced204af6e2d1db044fa40f021525d2aee95b4ac
3
+ size 681902
onnx/codec/moss_audio_tokenizer_decode_shared.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e69d52e0f4e84ca27850557ee54face46632d3a5a16c89bd246c7c408466dcad
3
+ size 44198912
onnx/codec/moss_audio_tokenizer_decode_step.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9527c86a29e1837edec1f74db57d5eeaadb3a715af3382703566460afed25855
3
+ size 351400
silence_frame.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bb2628efa99ae02819b04ff7509ef43ddb3213a9fb0916e4e88b8d1a7c3a1810
3
+ size 256
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
voices/baotrang/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "baotrang",
3
+ "display_name": "Bảo Trang",
4
+ "language": "vi",
5
+ "gender": "nữ",
6
+ "description": "nữ, trưởng thành, tin tức, rõ ràng, trung tính",
7
+ "tags": [
8
+ "nữ",
9
+ "trưởng thành",
10
+ "tin tức",
11
+ "rõ ràng",
12
+ "trung tính"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/baotrang/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cfe47bfeabb0177c9f346bae41a42c655ee4531184938d536317470be6ab5cfd
3
+ size 437804
voices/baotrang/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:db21fd1342da2d7d213f6b81d4795eee1be13f65410da99cfef4c92f3a80e29f
3
+ size 30720
voices/baotrang/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:abbc5807cc4767e7c62cc59f7b7cd04b4b7e0dba176086447a0c114578cf695a
3
+ size 31262
voices/giahuy/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "giahuy",
3
+ "display_name": "Gia Huy",
4
+ "language": "vi",
5
+ "gender": "nam",
6
+ "description": "nam, trẻ, kể chuyện, trầm ấm, tâm tình",
7
+ "tags": [
8
+ "nam",
9
+ "trẻ",
10
+ "kể chuyện",
11
+ "trầm ấm",
12
+ "tâm tình"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/giahuy/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:16feeedc4bc930bbe5aad4e657d1df78e60abc11fcac179a42f75c0d268b25d1
3
+ size 629804
voices/giahuy/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1367686f7b5b154dc75b83d108487794c781812c6695a302f1b71afc821050ad
3
+ size 30720
voices/giahuy/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3979a8369000eaaee1130801c1cacdadddc12e8d9a4a604be7430c4bcc6df32e
3
+ size 31262
voices/hamy/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "hamy",
3
+ "display_name": "Hà My",
4
+ "language": "vi",
5
+ "gender": "nữ",
6
+ "description": "nữ, trẻ, hoạt hình, cao, biểu cảm",
7
+ "tags": [
8
+ "nữ",
9
+ "trẻ",
10
+ "hoạt hình",
11
+ "cao",
12
+ "biểu cảm"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/hamy/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4bc33835023d7786bc75cb6c5c2681b1aec1ca3fb01300044b30d2161b29a171
3
+ size 460844
voices/hamy/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e137f9544c20c491b3d139aeebb1d8549f8bd6f84f035a2df78830d3baec025d
3
+ size 30720
voices/hamy/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a864c127386f74976154c840875f6ad615d74c377768bc6edcb75e3278f228b7
3
+ size 31262
voices/huuduc/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "huuduc",
3
+ "display_name": "Hữu Đức",
4
+ "language": "vi",
5
+ "gender": "nam",
6
+ "description": "nam, lớn tuổi, kể chuyện, trầm, điềm đạm",
7
+ "tags": [
8
+ "nam",
9
+ "lớn tuổi",
10
+ "kể chuyện",
11
+ "trầm",
12
+ "điềm đạm"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/huuduc/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8241e4cefd7bc526e101f0d0db7a793b9e2159ffae9f2f2e3c1cc94edebec184
3
+ size 491564
voices/huuduc/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:82db4e47cea838d8678962b174ba5e141bf772f943e87f9115b303b1f8c3afe2
3
+ size 30720
voices/huuduc/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d7a6370180263093eb9dd009661ba24b5309f0ba94ec18d8ff2323c80616a7eb
3
+ size 31262
voices/index.json ADDED
@@ -0,0 +1,164 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "voices": [
3
+ {
4
+ "name": "maichi",
5
+ "display_name": "Mai Chi",
6
+ "language": "vi",
7
+ "gender": "nữ",
8
+ "description": "nữ, trẻ, kể chuyện, nhẹ nhàng, thân thiện",
9
+ "tags": [
10
+ "nữ",
11
+ "trẻ",
12
+ "kể chuyện",
13
+ "nhẹ nhàng",
14
+ "thân thiện"
15
+ ],
16
+ "n_voice_queries": 10,
17
+ "shape": [
18
+ 1,
19
+ 10,
20
+ 768
21
+ ]
22
+ },
23
+ {
24
+ "name": "baotrang",
25
+ "display_name": "Bảo Trang",
26
+ "language": "vi",
27
+ "gender": "nữ",
28
+ "description": "nữ, trưởng thành, tin tức, rõ ràng, trung tính",
29
+ "tags": [
30
+ "nữ",
31
+ "trưởng thành",
32
+ "tin tức",
33
+ "rõ ràng",
34
+ "trung tính"
35
+ ],
36
+ "n_voice_queries": 10,
37
+ "shape": [
38
+ 1,
39
+ 10,
40
+ 768
41
+ ]
42
+ },
43
+ {
44
+ "name": "kimoanh",
45
+ "display_name": "Kim Oanh",
46
+ "language": "vi",
47
+ "gender": "nữ",
48
+ "description": "nữ, trung niên, kể chuyện, ấm áp, truyền cảm",
49
+ "tags": [
50
+ "nữ",
51
+ "trung niên",
52
+ "kể chuyện",
53
+ "ấm áp",
54
+ "truyền cảm"
55
+ ],
56
+ "n_voice_queries": 10,
57
+ "shape": [
58
+ 1,
59
+ 10,
60
+ 768
61
+ ]
62
+ },
63
+ {
64
+ "name": "giahuy",
65
+ "display_name": "Gia Huy",
66
+ "language": "vi",
67
+ "gender": "nam",
68
+ "description": "nam, trẻ, kể chuyện, trầm ấm, tâm tình",
69
+ "tags": [
70
+ "nam",
71
+ "trẻ",
72
+ "kể chuyện",
73
+ "trầm ấm",
74
+ "tâm tình"
75
+ ],
76
+ "n_voice_queries": 10,
77
+ "shape": [
78
+ 1,
79
+ 10,
80
+ 768
81
+ ]
82
+ },
83
+ {
84
+ "name": "huuduc",
85
+ "display_name": "Hữu Đức",
86
+ "language": "vi",
87
+ "gender": "nam",
88
+ "description": "nam, lớn tuổi, kể chuyện, trầm, điềm đạm",
89
+ "tags": [
90
+ "nam",
91
+ "lớn tuổi",
92
+ "kể chuyện",
93
+ "trầm",
94
+ "điềm đạm"
95
+ ],
96
+ "n_voice_queries": 10,
97
+ "shape": [
98
+ 1,
99
+ 10,
100
+ 768
101
+ ]
102
+ },
103
+ {
104
+ "name": "quangminh",
105
+ "display_name": "Quang Minh",
106
+ "language": "vi",
107
+ "gender": "nam",
108
+ "description": "nam, trẻ, tin tức, rõ ràng, dứt khoát",
109
+ "tags": [
110
+ "nam",
111
+ "trẻ",
112
+ "tin tức",
113
+ "rõ ràng",
114
+ "dứt khoát"
115
+ ],
116
+ "n_voice_queries": 10,
117
+ "shape": [
118
+ 1,
119
+ 10,
120
+ 768
121
+ ]
122
+ },
123
+ {
124
+ "name": "tiendat",
125
+ "display_name": "Tiến Đạt",
126
+ "language": "vi",
127
+ "gender": "nam",
128
+ "description": "nam, trẻ, bình luận, sôi nổi, năng lượng cao",
129
+ "tags": [
130
+ "nam",
131
+ "trẻ",
132
+ "bình luận",
133
+ "sôi nổi",
134
+ "năng lượng cao"
135
+ ],
136
+ "n_voice_queries": 10,
137
+ "shape": [
138
+ 1,
139
+ 10,
140
+ 768
141
+ ]
142
+ },
143
+ {
144
+ "name": "hamy",
145
+ "display_name": "Hà My",
146
+ "language": "vi",
147
+ "gender": "nữ",
148
+ "description": "nữ, trẻ, hoạt hình, cao, biểu cảm",
149
+ "tags": [
150
+ "nữ",
151
+ "trẻ",
152
+ "hoạt hình",
153
+ "cao",
154
+ "biểu cảm"
155
+ ],
156
+ "n_voice_queries": 10,
157
+ "shape": [
158
+ 1,
159
+ 10,
160
+ 768
161
+ ]
162
+ }
163
+ ]
164
+ }
voices/kimoanh/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "kimoanh",
3
+ "display_name": "Kim Oanh",
4
+ "language": "vi",
5
+ "gender": "nữ",
6
+ "description": "nữ, trung niên, kể chuyện, ấm áp, truyền cảm",
7
+ "tags": [
8
+ "nữ",
9
+ "trung niên",
10
+ "kể chuyện",
11
+ "ấm áp",
12
+ "truyền cảm"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/kimoanh/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:235bbe6aac7abbac191b2302ff52e51422076bf8117cd4142de1da7fe837a806
3
+ size 721964
voices/kimoanh/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:125a9dd8580ee96902868ea75ace8f572950a80a03b49e1cf4583332668844a0
3
+ size 30720
voices/kimoanh/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0aee413f25eae30123f930bd525d31a3b5a20c0803b4899305c2ff4a69466946
3
+ size 31262
voices/maichi/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "maichi",
3
+ "display_name": "Mai Chi",
4
+ "language": "vi",
5
+ "gender": "nữ",
6
+ "description": "nữ, trẻ, kể chuyện, nhẹ nhàng, thân thiện",
7
+ "tags": [
8
+ "nữ",
9
+ "trẻ",
10
+ "kể chuyện",
11
+ "nhẹ nhàng",
12
+ "thân thiện"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/maichi/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:987b84f2287607d58d08b4979f0bf5387a8235bc2eff28263065de34481caa67
3
+ size 491564
voices/maichi/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:41ec8afe3a901cd781fff1a81b7624c3da38ded8d9fd2a2c88e11927b632cabb
3
+ size 30720
voices/maichi/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34bbc62df623764c5cf50b840bb27eb590b2385d7a72b9728494636ef677c6e6
3
+ size 31262
voices/quangminh/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "quangminh",
3
+ "display_name": "Quang Minh",
4
+ "language": "vi",
5
+ "gender": "nam",
6
+ "description": "nam, trẻ, tin tức, rõ ràng, dứt khoát",
7
+ "tags": [
8
+ "nam",
9
+ "trẻ",
10
+ "tin tức",
11
+ "rõ ràng",
12
+ "dứt khoát"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/quangminh/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0257b6868a5ee37b2ef0f54d35d06c9d193c0358b2e66edc2ea7e1248608cb39
3
+ size 391724
voices/quangminh/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e1073679c7b82ce817f01ea5269307bbb9bb5c22717d218a419ca4185be390c
3
+ size 30720
voices/quangminh/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d2acb18f831ade23ed2d02e7b749fa745c95e9ee305795c5ddeb75f93d35fdb
3
+ size 31262
voices/tiendat/meta.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "tiendat",
3
+ "display_name": "Tiến Đạt",
4
+ "language": "vi",
5
+ "gender": "nam",
6
+ "description": "nam, trẻ, bình luận, sôi nổi, năng lượng cao",
7
+ "tags": [
8
+ "nam",
9
+ "trẻ",
10
+ "bình luận",
11
+ "sôi nổi",
12
+ "năng lượng cao"
13
+ ],
14
+ "n_voice_queries": 10
15
+ }
voices/tiendat/preview.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:833a33be52c083c56a11783e67d8cd953b794b8a4334e15e1c14bf11adaf966c
3
+ size 483884
voices/tiendat/voice.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:59cc88e2144054b244e34f402e51bcf6342f6affde31c92ff1ce80d58c0ab5dd
3
+ size 30720
voices/tiendat/voice.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a076fe7b938ad057652ffc4614678395edad90ab5cdc74546f3977636de15d0a
3
+ size 31262