typangaa commited on
Commit
fe17418
·
verified ·
1 Parent(s): dc7d95f

Initial release: canto-tts-nano-v1 (CER 11.82% / tone 84.22% / code-switch CER 13.87%, N=5 repeat gate)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,9 @@ 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
+ *.data filter=lfs diff=lfs merge=lfs -text
37
+ *.png filter=lfs diff=lfs merge=lfs -text
38
+ *.jpg filter=lfs diff=lfs merge=lfs -text
39
+ *.wav filter=lfs diff=lfs merge=lfs -text
40
+ *.gguf filter=lfs diff=lfs merge=lfs -text
41
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
MOSS-Audio-Tokenizer-Nano-ONNX/.gitattributes ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ *.data filter=lfs diff=lfs merge=lfs -text
37
+ *.png filter=lfs diff=lfs merge=lfs -text
38
+ *.jpg filter=lfs diff=lfs merge=lfs -text
39
+ *.wav filter=lfs diff=lfs merge=lfs -text
40
+ *.gguf filter=lfs diff=lfs merge=lfs -text
41
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
MOSS-Audio-Tokenizer-Nano-ONNX/README.md ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: onnx
4
+ tags:
5
+ - audio
6
+ - audio-tokenizer
7
+ - neural-codec
8
+ - moss-tts-family
9
+ - moss-audio-tokenizer-nano
10
+ - speech-tokenizer
11
+ - onnx
12
+ - onnxruntime
13
+ - browser
14
+ ---
15
+
16
+ # MOSS-Audio-Tokenizer-Nano-ONNX
17
+
18
+ This repository provides the **ONNX exports** of [MOSS-Audio-Tokenizer-Nano](https://huggingface.co/OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano), the lightweight audio tokenizer used by [MOSS-TTS-Nano](https://huggingface.co/OpenMOSS-Team/MOSS-TTS-Nano). It is intended for **torch-free** deployment with ONNX Runtime and ONNX Runtime Web.
19
+
20
+ ## Overview
21
+
22
+ The Nano variant is a lightweight tokenizer with about **20M parameters**, designed to reduce deployment cost while preserving strong perceptual quality.
23
+
24
+ MOSS-Audio-Tokenizer-Nano supports:
25
+
26
+ - **48 kHz**, **stereo** audio
27
+ - **12.5 Hz** token rate
28
+ - **16 RVQ codebooks**
29
+ - high-fidelity reconstruction across variable bitrates
30
+
31
+ This ONNX repository is designed for lightweight inference pipelines such as:
32
+
33
+ - local CPU deployment with `onnxruntime`
34
+ - browser deployment with `onnxruntime-web`
35
+ - companion audio encoding/decoding for `MOSS-TTS-Nano-100M-ONNX`
36
+
37
+ ## Supported Backends
38
+
39
+ | Backend | Runtime | Use Case |
40
+ |---------|---------|----------|
41
+ | **ONNX Runtime (CPU)** | `onnxruntime` | Local CPU inference |
42
+ | **ONNX Runtime Web** | `onnxruntime-web` | Browser-based deployment |
43
+
44
+ ## Repository Contents
45
+
46
+ | File | Description |
47
+ |------|-------------|
48
+ | `moss_audio_tokenizer_encode.onnx` | Encoder graph for waveform -> discrete audio codes |
49
+ | `moss_audio_tokenizer_encode.data` | External weights for the encoder graph |
50
+ | `moss_audio_tokenizer_decode_full.onnx` | Full decoder graph for audio codes -> waveform |
51
+ | `moss_audio_tokenizer_decode_step.onnx` | Streaming decoder-step graph for incremental decode |
52
+ | `moss_audio_tokenizer_decode_shared.data` | External weights shared by the decoder graphs |
53
+ | `codec_browser_onnx_meta.json` | Metadata for browser / ONNX runtime integration |
54
+
55
+ ## Quick Start
56
+
57
+ ```bash
58
+ huggingface-cli download OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano-ONNX \
59
+ --local-dir weights/MOSS-Audio-Tokenizer-Nano-ONNX
60
+ ```
61
+
62
+ This repository is typically used together with [OpenMOSS-Team/MOSS-TTS-Nano-100M-ONNX](https://huggingface.co/OpenMOSS-Team/MOSS-TTS-Nano-100M-ONNX) for fully torch-free MOSS-TTS-Nano deployment.
63
+
64
+ ## Main Repositories
65
+
66
+ | Repository | Description |
67
+ |------------|-------------|
68
+ | [OpenMOSS/MOSS-TTS-Nano](https://github.com/OpenMOSS/MOSS-TTS-Nano) | MOSS-TTS-Nano source code and inference pipeline |
69
+ | [OpenMOSS-Team/MOSS-TTS-Nano](https://huggingface.co/OpenMOSS-Team/MOSS-TTS-Nano) | PyTorch MOSS-TTS-Nano weights |
70
+ | [OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano](https://huggingface.co/OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano) | PyTorch MOSS-Audio-Tokenizer-Nano weights |
71
+ | [OpenMOSS-Team/MOSS-TTS-Nano-100M-ONNX](https://huggingface.co/OpenMOSS-Team/MOSS-TTS-Nano-100M-ONNX) | Companion ONNX TTS weights |
72
+
73
+ ## About MOSS-Audio-Tokenizer-Nano
74
+
75
+ **MOSS-Audio-Tokenizer-Nano** serves as the lightweight codec backbone for MOSS-TTS-Nano. It keeps the same unified audio-token interface used across the MOSS-TTS family while reducing inference cost for CPU and browser deployment scenarios.
76
+
77
+ For the original PyTorch implementation, setup instructions, and more background, see:
78
+
79
+ - [MOSS-Audio-Tokenizer Repository](https://github.com/OpenMOSS/MOSS-Audio-Tokenizer)
80
+ - [MOSS-TTS-Nano Repository](https://github.com/OpenMOSS/MOSS-TTS-Nano)
81
+
82
+ ## Citation
83
+
84
+ If you use the MOSS-TTS work in your research or product, please cite:
85
+
86
+ ```bibtex
87
+ @misc{openmoss2026mossttsnano,
88
+ title={MOSS-TTS-Nano},
89
+ author={OpenMOSS Team},
90
+ year={2026},
91
+ howpublished={GitHub repository},
92
+ url={https://github.com/OpenMOSS/MOSS-TTS-Nano}
93
+ }
94
+ ```
95
+
96
+ ```bibtex
97
+ @misc{gong2026mossttstechnicalreport,
98
+ title={MOSS-TTS Technical Report},
99
+ author={Yitian Gong and Botian Jiang and Yiwei Zhao and Yucheng Yuan and Kuangwei Chen and Yaozhou Jiang and Cheng Chang and Dong Hong and Mingshu Chen and Ruixiao Li and Yiyang Zhang and Yang Gao and Hanfu Chen and Ke Chen and Songlin Wang and Xiaogui Yang and Yuqian Zhang and Kexin Huang and ZhengYuan Lin and Kang Yu and Ziqi Chen and Jin Wang and Zhaoye Fei and Qinyuan Cheng and Shimin Li and Xipeng Qiu},
100
+ year={2026},
101
+ eprint={2603.18090},
102
+ archivePrefix={arXiv},
103
+ primaryClass={cs.SD},
104
+ url={https://arxiv.org/abs/2603.18090}
105
+ }
106
+ ```
107
+
108
+ ```bibtex
109
+ @misc{gong2026mossaudiotokenizerscalingaudiotokenizers,
110
+ title={MOSS-Audio-Tokenizer: Scaling Audio Tokenizers for Future Audio Foundation Models},
111
+ author={Yitian Gong and Kuangwei Chen and Zhaoye Fei and Xiaogui Yang and Ke Chen and Yang Wang and Kexin Huang and Mingshu Chen and Ruixiao Li and Qingyuan Cheng and Shimin Li and Xipeng Qiu},
112
+ year={2026},
113
+ eprint={2602.10934},
114
+ archivePrefix={arXiv},
115
+ primaryClass={cs.SD},
116
+ url={https://arxiv.org/abs/2602.10934}
117
+ }
118
+ ```
MOSS-Audio-Tokenizer-Nano-ONNX/codec_browser_onnx_meta.json ADDED
@@ -0,0 +1,576 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format_version": 2,
3
+ "checkpoint_path": "MOSS-Audio-Tokenizer-Nano",
4
+ "files": {
5
+ "encode": "moss_audio_tokenizer_encode.onnx",
6
+ "decode_full": "moss_audio_tokenizer_decode_full.onnx",
7
+ "decode_step": "moss_audio_tokenizer_decode_step.onnx"
8
+ },
9
+ "external_data_files": {
10
+ "moss_audio_tokenizer_encode.onnx": [
11
+ "moss_audio_tokenizer_encode.data"
12
+ ],
13
+ "moss_audio_tokenizer_decode_full.onnx": [
14
+ "moss_audio_tokenizer_decode_shared.data"
15
+ ],
16
+ "moss_audio_tokenizer_decode_step.onnx": [
17
+ "moss_audio_tokenizer_decode_shared.data"
18
+ ]
19
+ },
20
+ "codec_config": {
21
+ "sample_rate": 48000,
22
+ "channels": 2,
23
+ "downsample_rate": 3840,
24
+ "num_quantizers": 16
25
+ },
26
+ "onnx": {
27
+ "opset": 17,
28
+ "encode_input_names": [
29
+ "waveform",
30
+ "input_lengths"
31
+ ],
32
+ "encode_output_names": [
33
+ "audio_codes",
34
+ "audio_code_lengths"
35
+ ],
36
+ "decode_input_names": [
37
+ "audio_codes",
38
+ "audio_code_lengths"
39
+ ],
40
+ "decode_output_names": [
41
+ "audio",
42
+ "audio_lengths"
43
+ ],
44
+ "decode_step_input_names": [
45
+ "audio_codes",
46
+ "audio_code_lengths",
47
+ "transformer_offset_0",
48
+ "transformer_offset_1",
49
+ "transformer_offset_2",
50
+ "transformer_offset_3",
51
+ "attn_offset_0",
52
+ "attn_cached_keys_0",
53
+ "attn_cached_values_0",
54
+ "attn_cached_positions_0",
55
+ "attn_offset_1",
56
+ "attn_cached_keys_1",
57
+ "attn_cached_values_1",
58
+ "attn_cached_positions_1",
59
+ "attn_offset_2",
60
+ "attn_cached_keys_2",
61
+ "attn_cached_values_2",
62
+ "attn_cached_positions_2",
63
+ "attn_offset_3",
64
+ "attn_cached_keys_3",
65
+ "attn_cached_values_3",
66
+ "attn_cached_positions_3",
67
+ "attn_offset_4",
68
+ "attn_cached_keys_4",
69
+ "attn_cached_values_4",
70
+ "attn_cached_positions_4",
71
+ "attn_offset_5",
72
+ "attn_cached_keys_5",
73
+ "attn_cached_values_5",
74
+ "attn_cached_positions_5",
75
+ "attn_offset_6",
76
+ "attn_cached_keys_6",
77
+ "attn_cached_values_6",
78
+ "attn_cached_positions_6",
79
+ "attn_offset_7",
80
+ "attn_cached_keys_7",
81
+ "attn_cached_values_7",
82
+ "attn_cached_positions_7",
83
+ "attn_offset_8",
84
+ "attn_cached_keys_8",
85
+ "attn_cached_values_8",
86
+ "attn_cached_positions_8",
87
+ "attn_offset_9",
88
+ "attn_cached_keys_9",
89
+ "attn_cached_values_9",
90
+ "attn_cached_positions_9",
91
+ "attn_offset_10",
92
+ "attn_cached_keys_10",
93
+ "attn_cached_values_10",
94
+ "attn_cached_positions_10",
95
+ "attn_offset_11",
96
+ "attn_cached_keys_11",
97
+ "attn_cached_values_11",
98
+ "attn_cached_positions_11"
99
+ ],
100
+ "decode_step_output_names": [
101
+ "audio",
102
+ "audio_lengths",
103
+ "transformer_offset_out_0",
104
+ "transformer_offset_out_1",
105
+ "transformer_offset_out_2",
106
+ "transformer_offset_out_3",
107
+ "attn_offset_out_0",
108
+ "attn_cached_keys_out_0",
109
+ "attn_cached_values_out_0",
110
+ "attn_cached_positions_out_0",
111
+ "attn_offset_out_1",
112
+ "attn_cached_keys_out_1",
113
+ "attn_cached_values_out_1",
114
+ "attn_cached_positions_out_1",
115
+ "attn_offset_out_2",
116
+ "attn_cached_keys_out_2",
117
+ "attn_cached_values_out_2",
118
+ "attn_cached_positions_out_2",
119
+ "attn_offset_out_3",
120
+ "attn_cached_keys_out_3",
121
+ "attn_cached_values_out_3",
122
+ "attn_cached_positions_out_3",
123
+ "attn_offset_out_4",
124
+ "attn_cached_keys_out_4",
125
+ "attn_cached_values_out_4",
126
+ "attn_cached_positions_out_4",
127
+ "attn_offset_out_5",
128
+ "attn_cached_keys_out_5",
129
+ "attn_cached_values_out_5",
130
+ "attn_cached_positions_out_5",
131
+ "attn_offset_out_6",
132
+ "attn_cached_keys_out_6",
133
+ "attn_cached_values_out_6",
134
+ "attn_cached_positions_out_6",
135
+ "attn_offset_out_7",
136
+ "attn_cached_keys_out_7",
137
+ "attn_cached_values_out_7",
138
+ "attn_cached_positions_out_7",
139
+ "attn_offset_out_8",
140
+ "attn_cached_keys_out_8",
141
+ "attn_cached_values_out_8",
142
+ "attn_cached_positions_out_8",
143
+ "attn_offset_out_9",
144
+ "attn_cached_keys_out_9",
145
+ "attn_cached_values_out_9",
146
+ "attn_cached_positions_out_9",
147
+ "attn_offset_out_10",
148
+ "attn_cached_keys_out_10",
149
+ "attn_cached_values_out_10",
150
+ "attn_cached_positions_out_10",
151
+ "attn_offset_out_11",
152
+ "attn_cached_keys_out_11",
153
+ "attn_cached_values_out_11",
154
+ "attn_cached_positions_out_11"
155
+ ]
156
+ },
157
+ "streaming_decode": {
158
+ "batch_size": 1,
159
+ "transformer_offsets": [
160
+ {
161
+ "index": 0,
162
+ "decoder_index": 1,
163
+ "input_name": "transformer_offset_0",
164
+ "output_name": "transformer_offset_out_0",
165
+ "shape": [
166
+ 1
167
+ ],
168
+ "dtype": "int32"
169
+ },
170
+ {
171
+ "index": 1,
172
+ "decoder_index": 3,
173
+ "input_name": "transformer_offset_1",
174
+ "output_name": "transformer_offset_out_1",
175
+ "shape": [
176
+ 1
177
+ ],
178
+ "dtype": "int32"
179
+ },
180
+ {
181
+ "index": 2,
182
+ "decoder_index": 5,
183
+ "input_name": "transformer_offset_2",
184
+ "output_name": "transformer_offset_out_2",
185
+ "shape": [
186
+ 1
187
+ ],
188
+ "dtype": "int32"
189
+ },
190
+ {
191
+ "index": 3,
192
+ "decoder_index": 7,
193
+ "input_name": "transformer_offset_3",
194
+ "output_name": "transformer_offset_out_3",
195
+ "shape": [
196
+ 1
197
+ ],
198
+ "dtype": "int32"
199
+ }
200
+ ],
201
+ "attention_caches": [
202
+ {
203
+ "index": 0,
204
+ "decoder_index": 1,
205
+ "layer_index": 0,
206
+ "context": 500,
207
+ "num_heads": 4,
208
+ "head_dim": 64,
209
+ "offset_input_name": "attn_offset_0",
210
+ "offset_output_name": "attn_offset_out_0",
211
+ "cached_keys_input_name": "attn_cached_keys_0",
212
+ "cached_keys_output_name": "attn_cached_keys_out_0",
213
+ "cached_values_input_name": "attn_cached_values_0",
214
+ "cached_values_output_name": "attn_cached_values_out_0",
215
+ "cached_positions_input_name": "attn_cached_positions_0",
216
+ "cached_positions_output_name": "attn_cached_positions_out_0",
217
+ "offset_shape": [
218
+ 1
219
+ ],
220
+ "cache_shape": [
221
+ 1,
222
+ 4,
223
+ 500,
224
+ 64
225
+ ],
226
+ "positions_shape": [
227
+ 1,
228
+ 500
229
+ ],
230
+ "cache_dtype": "float32",
231
+ "positions_dtype": "int32"
232
+ },
233
+ {
234
+ "index": 1,
235
+ "decoder_index": 1,
236
+ "layer_index": 1,
237
+ "context": 500,
238
+ "num_heads": 4,
239
+ "head_dim": 64,
240
+ "offset_input_name": "attn_offset_1",
241
+ "offset_output_name": "attn_offset_out_1",
242
+ "cached_keys_input_name": "attn_cached_keys_1",
243
+ "cached_keys_output_name": "attn_cached_keys_out_1",
244
+ "cached_values_input_name": "attn_cached_values_1",
245
+ "cached_values_output_name": "attn_cached_values_out_1",
246
+ "cached_positions_input_name": "attn_cached_positions_1",
247
+ "cached_positions_output_name": "attn_cached_positions_out_1",
248
+ "offset_shape": [
249
+ 1
250
+ ],
251
+ "cache_shape": [
252
+ 1,
253
+ 4,
254
+ 500,
255
+ 64
256
+ ],
257
+ "positions_shape": [
258
+ 1,
259
+ 500
260
+ ],
261
+ "cache_dtype": "float32",
262
+ "positions_dtype": "int32"
263
+ },
264
+ {
265
+ "index": 2,
266
+ "decoder_index": 1,
267
+ "layer_index": 2,
268
+ "context": 500,
269
+ "num_heads": 4,
270
+ "head_dim": 64,
271
+ "offset_input_name": "attn_offset_2",
272
+ "offset_output_name": "attn_offset_out_2",
273
+ "cached_keys_input_name": "attn_cached_keys_2",
274
+ "cached_keys_output_name": "attn_cached_keys_out_2",
275
+ "cached_values_input_name": "attn_cached_values_2",
276
+ "cached_values_output_name": "attn_cached_values_out_2",
277
+ "cached_positions_input_name": "attn_cached_positions_2",
278
+ "cached_positions_output_name": "attn_cached_positions_out_2",
279
+ "offset_shape": [
280
+ 1
281
+ ],
282
+ "cache_shape": [
283
+ 1,
284
+ 4,
285
+ 500,
286
+ 64
287
+ ],
288
+ "positions_shape": [
289
+ 1,
290
+ 500
291
+ ],
292
+ "cache_dtype": "float32",
293
+ "positions_dtype": "int32"
294
+ },
295
+ {
296
+ "index": 3,
297
+ "decoder_index": 1,
298
+ "layer_index": 3,
299
+ "context": 500,
300
+ "num_heads": 4,
301
+ "head_dim": 64,
302
+ "offset_input_name": "attn_offset_3",
303
+ "offset_output_name": "attn_offset_out_3",
304
+ "cached_keys_input_name": "attn_cached_keys_3",
305
+ "cached_keys_output_name": "attn_cached_keys_out_3",
306
+ "cached_values_input_name": "attn_cached_values_3",
307
+ "cached_values_output_name": "attn_cached_values_out_3",
308
+ "cached_positions_input_name": "attn_cached_positions_3",
309
+ "cached_positions_output_name": "attn_cached_positions_out_3",
310
+ "offset_shape": [
311
+ 1
312
+ ],
313
+ "cache_shape": [
314
+ 1,
315
+ 4,
316
+ 500,
317
+ 64
318
+ ],
319
+ "positions_shape": [
320
+ 1,
321
+ 500
322
+ ],
323
+ "cache_dtype": "float32",
324
+ "positions_dtype": "int32"
325
+ },
326
+ {
327
+ "index": 4,
328
+ "decoder_index": 3,
329
+ "layer_index": 0,
330
+ "context": 800,
331
+ "num_heads": 4,
332
+ "head_dim": 64,
333
+ "offset_input_name": "attn_offset_4",
334
+ "offset_output_name": "attn_offset_out_4",
335
+ "cached_keys_input_name": "attn_cached_keys_4",
336
+ "cached_keys_output_name": "attn_cached_keys_out_4",
337
+ "cached_values_input_name": "attn_cached_values_4",
338
+ "cached_values_output_name": "attn_cached_values_out_4",
339
+ "cached_positions_input_name": "attn_cached_positions_4",
340
+ "cached_positions_output_name": "attn_cached_positions_out_4",
341
+ "offset_shape": [
342
+ 1
343
+ ],
344
+ "cache_shape": [
345
+ 1,
346
+ 4,
347
+ 800,
348
+ 64
349
+ ],
350
+ "positions_shape": [
351
+ 1,
352
+ 800
353
+ ],
354
+ "cache_dtype": "float32",
355
+ "positions_dtype": "int32"
356
+ },
357
+ {
358
+ "index": 5,
359
+ "decoder_index": 3,
360
+ "layer_index": 1,
361
+ "context": 800,
362
+ "num_heads": 4,
363
+ "head_dim": 64,
364
+ "offset_input_name": "attn_offset_5",
365
+ "offset_output_name": "attn_offset_out_5",
366
+ "cached_keys_input_name": "attn_cached_keys_5",
367
+ "cached_keys_output_name": "attn_cached_keys_out_5",
368
+ "cached_values_input_name": "attn_cached_values_5",
369
+ "cached_values_output_name": "attn_cached_values_out_5",
370
+ "cached_positions_input_name": "attn_cached_positions_5",
371
+ "cached_positions_output_name": "attn_cached_positions_out_5",
372
+ "offset_shape": [
373
+ 1
374
+ ],
375
+ "cache_shape": [
376
+ 1,
377
+ 4,
378
+ 800,
379
+ 64
380
+ ],
381
+ "positions_shape": [
382
+ 1,
383
+ 800
384
+ ],
385
+ "cache_dtype": "float32",
386
+ "positions_dtype": "int32"
387
+ },
388
+ {
389
+ "index": 6,
390
+ "decoder_index": 5,
391
+ "layer_index": 0,
392
+ "context": 1200,
393
+ "num_heads": 4,
394
+ "head_dim": 64,
395
+ "offset_input_name": "attn_offset_6",
396
+ "offset_output_name": "attn_offset_out_6",
397
+ "cached_keys_input_name": "attn_cached_keys_6",
398
+ "cached_keys_output_name": "attn_cached_keys_out_6",
399
+ "cached_values_input_name": "attn_cached_values_6",
400
+ "cached_values_output_name": "attn_cached_values_out_6",
401
+ "cached_positions_input_name": "attn_cached_positions_6",
402
+ "cached_positions_output_name": "attn_cached_positions_out_6",
403
+ "offset_shape": [
404
+ 1
405
+ ],
406
+ "cache_shape": [
407
+ 1,
408
+ 4,
409
+ 1200,
410
+ 64
411
+ ],
412
+ "positions_shape": [
413
+ 1,
414
+ 1200
415
+ ],
416
+ "cache_dtype": "float32",
417
+ "positions_dtype": "int32"
418
+ },
419
+ {
420
+ "index": 7,
421
+ "decoder_index": 5,
422
+ "layer_index": 1,
423
+ "context": 1200,
424
+ "num_heads": 4,
425
+ "head_dim": 64,
426
+ "offset_input_name": "attn_offset_7",
427
+ "offset_output_name": "attn_offset_out_7",
428
+ "cached_keys_input_name": "attn_cached_keys_7",
429
+ "cached_keys_output_name": "attn_cached_keys_out_7",
430
+ "cached_values_input_name": "attn_cached_values_7",
431
+ "cached_values_output_name": "attn_cached_values_out_7",
432
+ "cached_positions_input_name": "attn_cached_positions_7",
433
+ "cached_positions_output_name": "attn_cached_positions_out_7",
434
+ "offset_shape": [
435
+ 1
436
+ ],
437
+ "cache_shape": [
438
+ 1,
439
+ 4,
440
+ 1200,
441
+ 64
442
+ ],
443
+ "positions_shape": [
444
+ 1,
445
+ 1200
446
+ ],
447
+ "cache_dtype": "float32",
448
+ "positions_dtype": "int32"
449
+ },
450
+ {
451
+ "index": 8,
452
+ "decoder_index": 7,
453
+ "layer_index": 0,
454
+ "context": 1600,
455
+ "num_heads": 4,
456
+ "head_dim": 64,
457
+ "offset_input_name": "attn_offset_8",
458
+ "offset_output_name": "attn_offset_out_8",
459
+ "cached_keys_input_name": "attn_cached_keys_8",
460
+ "cached_keys_output_name": "attn_cached_keys_out_8",
461
+ "cached_values_input_name": "attn_cached_values_8",
462
+ "cached_values_output_name": "attn_cached_values_out_8",
463
+ "cached_positions_input_name": "attn_cached_positions_8",
464
+ "cached_positions_output_name": "attn_cached_positions_out_8",
465
+ "offset_shape": [
466
+ 1
467
+ ],
468
+ "cache_shape": [
469
+ 1,
470
+ 4,
471
+ 1600,
472
+ 64
473
+ ],
474
+ "positions_shape": [
475
+ 1,
476
+ 1600
477
+ ],
478
+ "cache_dtype": "float32",
479
+ "positions_dtype": "int32"
480
+ },
481
+ {
482
+ "index": 9,
483
+ "decoder_index": 7,
484
+ "layer_index": 1,
485
+ "context": 1600,
486
+ "num_heads": 4,
487
+ "head_dim": 64,
488
+ "offset_input_name": "attn_offset_9",
489
+ "offset_output_name": "attn_offset_out_9",
490
+ "cached_keys_input_name": "attn_cached_keys_9",
491
+ "cached_keys_output_name": "attn_cached_keys_out_9",
492
+ "cached_values_input_name": "attn_cached_values_9",
493
+ "cached_values_output_name": "attn_cached_values_out_9",
494
+ "cached_positions_input_name": "attn_cached_positions_9",
495
+ "cached_positions_output_name": "attn_cached_positions_out_9",
496
+ "offset_shape": [
497
+ 1
498
+ ],
499
+ "cache_shape": [
500
+ 1,
501
+ 4,
502
+ 1600,
503
+ 64
504
+ ],
505
+ "positions_shape": [
506
+ 1,
507
+ 1600
508
+ ],
509
+ "cache_dtype": "float32",
510
+ "positions_dtype": "int32"
511
+ },
512
+ {
513
+ "index": 10,
514
+ "decoder_index": 7,
515
+ "layer_index": 2,
516
+ "context": 1600,
517
+ "num_heads": 4,
518
+ "head_dim": 64,
519
+ "offset_input_name": "attn_offset_10",
520
+ "offset_output_name": "attn_offset_out_10",
521
+ "cached_keys_input_name": "attn_cached_keys_10",
522
+ "cached_keys_output_name": "attn_cached_keys_out_10",
523
+ "cached_values_input_name": "attn_cached_values_10",
524
+ "cached_values_output_name": "attn_cached_values_out_10",
525
+ "cached_positions_input_name": "attn_cached_positions_10",
526
+ "cached_positions_output_name": "attn_cached_positions_out_10",
527
+ "offset_shape": [
528
+ 1
529
+ ],
530
+ "cache_shape": [
531
+ 1,
532
+ 4,
533
+ 1600,
534
+ 64
535
+ ],
536
+ "positions_shape": [
537
+ 1,
538
+ 1600
539
+ ],
540
+ "cache_dtype": "float32",
541
+ "positions_dtype": "int32"
542
+ },
543
+ {
544
+ "index": 11,
545
+ "decoder_index": 7,
546
+ "layer_index": 3,
547
+ "context": 1600,
548
+ "num_heads": 4,
549
+ "head_dim": 64,
550
+ "offset_input_name": "attn_offset_11",
551
+ "offset_output_name": "attn_offset_out_11",
552
+ "cached_keys_input_name": "attn_cached_keys_11",
553
+ "cached_keys_output_name": "attn_cached_keys_out_11",
554
+ "cached_values_input_name": "attn_cached_values_11",
555
+ "cached_values_output_name": "attn_cached_values_out_11",
556
+ "cached_positions_input_name": "attn_cached_positions_11",
557
+ "cached_positions_output_name": "attn_cached_positions_out_11",
558
+ "offset_shape": [
559
+ 1
560
+ ],
561
+ "cache_shape": [
562
+ 1,
563
+ 4,
564
+ 1600,
565
+ 64
566
+ ],
567
+ "positions_shape": [
568
+ 1,
569
+ 1600
570
+ ],
571
+ "cache_dtype": "float32",
572
+ "positions_dtype": "int32"
573
+ }
574
+ ]
575
+ }
576
+ }
MOSS-Audio-Tokenizer-Nano-ONNX/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
MOSS-Audio-Tokenizer-Nano-ONNX/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
MOSS-Audio-Tokenizer-Nano-ONNX/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
MOSS-Audio-Tokenizer-Nano-ONNX/moss_audio_tokenizer_encode.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aa751265b2bab2887eac224484546b194875aa7494b607115439b3dc6b228a2c
3
+ size 44507136
MOSS-Audio-Tokenizer-Nano-ONNX/moss_audio_tokenizer_encode.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eadea4a645abdcf98714c7aead122ee2ce7da6e080f9f80b977cd1ca8e19473a
3
+ size 815775
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_decode_step.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:245846789d1a7186c3087de756c38f698252dbafe47eb73ac243ee9df1292e81
3
+ size 291483
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_global_shared.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6cf65e309adf12f837af995a7f81f6b13ded287af21763df9f9421c1c96c5137
3
+ size 441083904
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_local_cached_step.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a66a3d8946d460b5bd859a1af3fc089819259c3684056bddc6640ffcf804b383
3
+ size 53685
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_local_decoder.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:05afc6a6f2f41981f1f1552fe772125b4dfc2bd3d13822ace45e17066f380480
3
+ size 50194
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_local_fixed_sampled_frame.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c3108436e014123ad860c17f841b24cf7b9926699a0da7095ff83b2106af2359
3
+ size 471262
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_local_shared.data ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8467ffced719677e4e2563ac41cadac5b55b20315a7b8c0fc866484c46485822
3
+ size 230218752
MOSS-TTS-Nano-cantophon-ONNX/moss_tts_prefill.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:22844a9cd0bd48c61006301d1eb75d6a78085b3e038f405fb990b2994adb78b2
3
+ size 283305
MOSS-TTS-Nano-cantophon-ONNX/tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c353ee1479b536bf414c1b247f5542b6607fb8ae91320e5af1781fee200fddff
3
+ size 470897
MOSS-TTS-Nano-cantophon-ONNX/tts_browser_onnx_meta.json ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format_version": 1,
3
+ "checkpoint_path": "checkpoint-last",
4
+ "files": {
5
+ "prefill": "moss_tts_prefill.onnx",
6
+ "decode_step": "moss_tts_decode_step.onnx",
7
+ "local_decoder": "moss_tts_local_decoder.onnx",
8
+ "local_cached_step": "moss_tts_local_cached_step.onnx",
9
+ "local_fixed_sampled_frame": "moss_tts_local_fixed_sampled_frame.onnx"
10
+ },
11
+ "external_data_files": {
12
+ "moss_tts_prefill.onnx": [
13
+ "moss_tts_global_shared.data"
14
+ ],
15
+ "moss_tts_decode_step.onnx": [
16
+ "moss_tts_global_shared.data"
17
+ ],
18
+ "moss_tts_local_decoder.onnx": [
19
+ "moss_tts_local_shared.data"
20
+ ],
21
+ "moss_tts_local_cached_step.onnx": [
22
+ "moss_tts_local_shared.data"
23
+ ],
24
+ "moss_tts_local_fixed_sampled_frame.onnx": [
25
+ "moss_tts_local_shared.data"
26
+ ]
27
+ },
28
+ "model_config": {
29
+ "n_vq": 16,
30
+ "row_width": 17,
31
+ "hidden_size": 768,
32
+ "global_layers": 12,
33
+ "global_heads": 12,
34
+ "head_dim": 64,
35
+ "local_layers": 1,
36
+ "local_heads": 12,
37
+ "local_head_dim": 64,
38
+ "vocab_size": 16472,
39
+ "audio_codebook_sizes": [
40
+ 1024,
41
+ 1024,
42
+ 1024,
43
+ 1024,
44
+ 1024,
45
+ 1024,
46
+ 1024,
47
+ 1024,
48
+ 1024,
49
+ 1024,
50
+ 1024,
51
+ 1024,
52
+ 1024,
53
+ 1024,
54
+ 1024,
55
+ 1024
56
+ ],
57
+ "audio_pad_token_id": 1024,
58
+ "pad_token_id": 3,
59
+ "im_start_token_id": 4,
60
+ "im_end_token_id": 5,
61
+ "audio_start_token_id": 6,
62
+ "audio_end_token_id": 7,
63
+ "audio_user_slot_token_id": 8,
64
+ "audio_assistant_slot_token_id": 9
65
+ },
66
+ "onnx": {
67
+ "opset": 17,
68
+ "prefill_output_names": [
69
+ "global_hidden",
70
+ "present_key_0",
71
+ "present_value_0",
72
+ "present_key_1",
73
+ "present_value_1",
74
+ "present_key_2",
75
+ "present_value_2",
76
+ "present_key_3",
77
+ "present_value_3",
78
+ "present_key_4",
79
+ "present_value_4",
80
+ "present_key_5",
81
+ "present_value_5",
82
+ "present_key_6",
83
+ "present_value_6",
84
+ "present_key_7",
85
+ "present_value_7",
86
+ "present_key_8",
87
+ "present_value_8",
88
+ "present_key_9",
89
+ "present_value_9",
90
+ "present_key_10",
91
+ "present_value_10",
92
+ "present_key_11",
93
+ "present_value_11"
94
+ ],
95
+ "decode_input_names": [
96
+ "input_ids",
97
+ "past_valid_lengths",
98
+ "past_key_0",
99
+ "past_value_0",
100
+ "past_key_1",
101
+ "past_value_1",
102
+ "past_key_2",
103
+ "past_value_2",
104
+ "past_key_3",
105
+ "past_value_3",
106
+ "past_key_4",
107
+ "past_value_4",
108
+ "past_key_5",
109
+ "past_value_5",
110
+ "past_key_6",
111
+ "past_value_6",
112
+ "past_key_7",
113
+ "past_value_7",
114
+ "past_key_8",
115
+ "past_value_8",
116
+ "past_key_9",
117
+ "past_value_9",
118
+ "past_key_10",
119
+ "past_value_10",
120
+ "past_key_11",
121
+ "past_value_11"
122
+ ],
123
+ "decode_output_names": [
124
+ "global_hidden",
125
+ "present_key_0",
126
+ "present_value_0",
127
+ "present_key_1",
128
+ "present_value_1",
129
+ "present_key_2",
130
+ "present_value_2",
131
+ "present_key_3",
132
+ "present_value_3",
133
+ "present_key_4",
134
+ "present_value_4",
135
+ "present_key_5",
136
+ "present_value_5",
137
+ "present_key_6",
138
+ "present_value_6",
139
+ "present_key_7",
140
+ "present_value_7",
141
+ "present_key_8",
142
+ "present_value_8",
143
+ "present_key_9",
144
+ "present_value_9",
145
+ "present_key_10",
146
+ "present_value_10",
147
+ "present_key_11",
148
+ "present_value_11"
149
+ ],
150
+ "local_cached_input_names": [
151
+ "global_hidden",
152
+ "text_token_id",
153
+ "audio_token_id",
154
+ "channel_index",
155
+ "step_type",
156
+ "past_valid_lengths",
157
+ "local_past_key_0",
158
+ "local_past_value_0"
159
+ ],
160
+ "local_cached_output_names": [
161
+ "text_logits",
162
+ "audio_logits",
163
+ "local_present_key_0",
164
+ "local_present_value_0"
165
+ ],
166
+ "local_fixed_sampled_frame_input_names": [
167
+ "global_hidden",
168
+ "repetition_seen_mask",
169
+ "assistant_random_u",
170
+ "audio_random_u"
171
+ ],
172
+ "local_fixed_sampled_frame_output_names": [
173
+ "should_continue",
174
+ "frame_token_ids"
175
+ ],
176
+ "fixed_sampled_frame_constants": {
177
+ "text_temperature": 1.0,
178
+ "text_top_p": 1.0,
179
+ "text_top_k": 50,
180
+ "audio_temperature": 0.8,
181
+ "audio_top_p": 0.95,
182
+ "audio_top_k": 25,
183
+ "audio_repetition_penalty": 1.2
184
+ }
185
+ }
186
+ }
README.md ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - yue
5
+ - en
6
+ base_model: OpenMOSS/MOSS-TTS-Nano
7
+ pipeline_tag: text-to-speech
8
+ tags:
9
+ - text-to-speech
10
+ - cantonese
11
+ - jyutping
12
+ - onnx
13
+ - speech
14
+ ---
15
+
16
+ # canto-tts-nano-v1
17
+
18
+ Open-source **Hong Kong Cantonese** text-to-speech, fine-tuned from
19
+ [MOSS-TTS-Nano](https://github.com/OpenMOSS/MOSS-TTS) (0.1B params, GPT-2 backbone, Apache-2.0).
20
+ CPU-first — runs via ONNX Runtime, no GPU required.
21
+
22
+ This repo ships the **ONNX export** consumed by the
23
+ [`canto-tts`](https://github.com/typangaa/canto-tts) Python SDK. It bundles the fine-tuned TTS
24
+ graphs, the stock (unmodified) OpenMOSS audio-codec ONNX graphs, and one baked default voice.
25
+
26
+ ## Why a dedicated Cantonese fine-tune
27
+
28
+ MOSS-TTS-Nano's base pretraining is Mandarin-centric — feeding it raw Hanzi produces Mandarin-accented
29
+ output. This fine-tune instead feeds **jyutping phoneme tokens** (onset/rime/tone) for Chinese
30
+ characters, while leaving English words as plain orthography (the base model's multilingual English
31
+ prior is already good) — this is what actually yields Cantonese output with natural English
32
+ code-switching. Text→jyutping conversion is handled upstream by
33
+ [`canto-hk-g2p`](https://github.com/typangaa/canto-hk-g2p); this checkpoint only consumes phoneme
34
+ tokens, it does not do grapheme-to-phoneme itself.
35
+
36
+ ## Usage
37
+
38
+ ```bash
39
+ pip install canto-tts # see https://github.com/typangaa/canto-tts for current install instructions
40
+ ```
41
+
42
+ ```python
43
+ from canto_tts import CantoTTS
44
+
45
+ tts = CantoTTS() # auto-downloads this repo via huggingface_hub, cached under ~/.cache/huggingface
46
+ tts.synthesize("多謝晒,今日天氣幾好。", "hello.wav")
47
+
48
+ # English code-switching
49
+ tts.synthesize("我哋一齊去 IFC food court 食飯。", "codeswitching.wav")
50
+ ```
51
+
52
+ Advanced / no-SDK usage: `browser_poc_manifest.json` describes the ONNX graph layout (prefill/decode
53
+ steps for the TTS local+global transformer, plus the codec encode/decode graphs) and carries the
54
+ baked default-voice `audio_codes` — see `canto_tts.backends.onnx_backend.OnnxBackend` in the SDK repo
55
+ for the reference ONNX Runtime session-wiring implementation.
56
+
57
+ ## Gate results (N=5 repeats, Qwen3-ASR-1.7B judge)
58
+
59
+ | Gate | Set | Result | Threshold | Status |
60
+ |---|---|---|---|---|
61
+ | CER | golden_prompts (100 Cantonese sentences) | **11.82%** | < 15% | ✅ |
62
+ | Tone accuracy | same | **84.22%** | ≥ 70% | ✅ |
63
+ | Code-switch CER | same | **13.87%** | < 15% | ✅ |
64
+ | Pure-English CER | 20 English-only sentences | **9.7%** | < 15% | ✅ |
65
+ | Voice-clone CER (zero-shot) | 6 speakers × 5 targets | **10.2%** | ≤ 11% | ✅ |
66
+
67
+ Full lineage, methodology, and paired-bootstrap significance notes: see the
68
+ [GitHub repo](https://github.com/typangaa/canto-tts).
69
+
70
+ ## Default voice
71
+
72
+ The single baked default voice is **this checkpoint's own unconditional (`mode="continuation"`)
73
+ output** — i.e. self-generated speech, not a copy of any identifiable real person's recording and not
74
+ borrowed from another project's demo asset. This sidesteps voice-likeness/rights questions entirely
75
+ for the shipped default. There is currently no runtime voice selection in the ONNX bundle (one baked
76
+ voice only) — multi-voice picking is planned for a future release via the underlying checkpoint's
77
+ native zero-shot voice-cloning path, not this static ONNX export.
78
+
79
+ ## Known limitations
80
+
81
+ - **Single default voice** — no voice selection or cloning in this ONNX bundle.
82
+ - **Cantonese + English code-switching only** — Mandarin capability was intentionally not preserved
83
+ (the phoneme fine-tune overrides the base model's Mandarin reading prior for Chinese characters by
84
+ design).
85
+ - No explicit style/emotion/gender control at inference — the training schema's control fields are
86
+ fixed to a neutral default for this checkpoint.
87
+
88
+ ## License
89
+
90
+ Apache-2.0, inherited from [MOSS-TTS-Nano](https://github.com/OpenMOSS/MOSS-TTS) (OpenMOSS). The
91
+ audio codec graphs (`MOSS-Audio-Tokenizer-Nano-ONNX/`) are the stock, unmodified OpenMOSS codec,
92
+ included here only for convenience so the SDK has a single download.
93
+
94
+ Training data is privately sourced and **not released** (copyright) — only these weights are public.
added_tokens.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "<o-b>": 16384,
3
+ "<o-c>": 16385,
4
+ "<o-d>": 16386,
5
+ "<o-f>": 16387,
6
+ "<o-g>": 16388,
7
+ "<o-gw>": 16389,
8
+ "<o-h>": 16390,
9
+ "<o-j>": 16391,
10
+ "<o-k>": 16392,
11
+ "<o-kw>": 16393,
12
+ "<o-l>": 16394,
13
+ "<o-m>": 16395,
14
+ "<o-n>": 16396,
15
+ "<o-ng>": 16397,
16
+ "<o-p>": 16398,
17
+ "<o-s>": 16399,
18
+ "<o-t>": 16400,
19
+ "<o-w>": 16401,
20
+ "<o-z>": 16402,
21
+ "<pause-long>": 16471,
22
+ "<pause-short>": 16470,
23
+ "<r-a>": 16403,
24
+ "<r-aa>": 16404,
25
+ "<r-aai>": 16405,
26
+ "<r-aak>": 16406,
27
+ "<r-aam>": 16407,
28
+ "<r-aan>": 16408,
29
+ "<r-aang>": 16409,
30
+ "<r-aap>": 16410,
31
+ "<r-aat>": 16411,
32
+ "<r-aau>": 16412,
33
+ "<r-ai>": 16413,
34
+ "<r-ak>": 16414,
35
+ "<r-am>": 16415,
36
+ "<r-an>": 16416,
37
+ "<r-ang>": 16417,
38
+ "<r-ap>": 16418,
39
+ "<r-at>": 16419,
40
+ "<r-au>": 16420,
41
+ "<r-e>": 16421,
42
+ "<r-ei>": 16422,
43
+ "<r-ek>": 16423,
44
+ "<r-em>": 16424,
45
+ "<r-eng>": 16425,
46
+ "<r-eoi>": 16426,
47
+ "<r-eon>": 16427,
48
+ "<r-eot>": 16428,
49
+ "<r-ep>": 16429,
50
+ "<r-et>": 16430,
51
+ "<r-eu>": 16431,
52
+ "<r-i>": 16432,
53
+ "<r-ik>": 16433,
54
+ "<r-im>": 16434,
55
+ "<r-in>": 16435,
56
+ "<r-ing>": 16436,
57
+ "<r-ip>": 16437,
58
+ "<r-it>": 16438,
59
+ "<r-iu>": 16439,
60
+ "<r-m>": 16440,
61
+ "<r-ng>": 16441,
62
+ "<r-o>": 16442,
63
+ "<r-oe>": 16443,
64
+ "<r-oek>": 16444,
65
+ "<r-oeng>": 16445,
66
+ "<r-oet>": 16446,
67
+ "<r-oi>": 16447,
68
+ "<r-ok>": 16448,
69
+ "<r-om>": 16449,
70
+ "<r-on>": 16450,
71
+ "<r-ong>": 16451,
72
+ "<r-op>": 16452,
73
+ "<r-ot>": 16453,
74
+ "<r-ou>": 16454,
75
+ "<r-u>": 16455,
76
+ "<r-ui>": 16456,
77
+ "<r-uk>": 16457,
78
+ "<r-un>": 16458,
79
+ "<r-ung>": 16459,
80
+ "<r-ut>": 16460,
81
+ "<r-yu>": 16461,
82
+ "<r-yun>": 16462,
83
+ "<r-yut>": 16463,
84
+ "<t1>": 16464,
85
+ "<t2>": 16465,
86
+ "<t3>": 16466,
87
+ "<t4>": 16467,
88
+ "<t5>": 16468,
89
+ "<t6>": 16469
90
+ }
browser_poc_manifest.json ADDED
@@ -0,0 +1,909 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format_version": 1,
3
+ "model_files": {
4
+ "tts_meta": "MOSS-TTS-Nano-cantophon-ONNX/tts_browser_onnx_meta.json",
5
+ "codec_meta": "MOSS-Audio-Tokenizer-Nano-ONNX/codec_browser_onnx_meta.json",
6
+ "tokenizer_model": "tokenizer.model",
7
+ "added_tokens": "added_tokens.json"
8
+ },
9
+ "tts_config": {
10
+ "n_vq": 16,
11
+ "audio_pad_token_id": 1024,
12
+ "audio_start_token_id": 6,
13
+ "audio_end_token_id": 7,
14
+ "audio_user_slot_token_id": 8,
15
+ "audio_assistant_slot_token_id": 9
16
+ },
17
+ "prompt_templates": {
18
+ "user_prompt_prefix_token_ids": [
19
+ 4,
20
+ 600,
21
+ 289,
22
+ 10356,
23
+ 13,
24
+ 10356,
25
+ 10425,
26
+ 1860,
27
+ 4546,
28
+ 12907,
29
+ 10363,
30
+ 13325,
31
+ 11492
32
+ ],
33
+ "user_prompt_after_reference_token_ids": [
34
+ 10356,
35
+ 10425,
36
+ 3965,
37
+ 7738,
38
+ 11492,
39
+ 505,
40
+ 587,
41
+ 10356,
42
+ 10425,
43
+ 352,
44
+ 500,
45
+ 856,
46
+ 11492,
47
+ 505,
48
+ 587,
49
+ 10356,
50
+ 10425,
51
+ 2128,
52
+ 1247,
53
+ 594,
54
+ 11492,
55
+ 505,
56
+ 587,
57
+ 10356,
58
+ 10425,
59
+ 348,
60
+ 909,
61
+ 561,
62
+ 3648,
63
+ 11492,
64
+ 505,
65
+ 587,
66
+ 10356,
67
+ 10425,
68
+ 2818,
69
+ 1305,
70
+ 355,
71
+ 348,
72
+ 909,
73
+ 11492,
74
+ 505,
75
+ 587,
76
+ 10356,
77
+ 10425,
78
+ 484,
79
+ 339,
80
+ 10367,
81
+ 783,
82
+ 11492,
83
+ 505,
84
+ 587,
85
+ 10356,
86
+ 10425,
87
+ 2427,
88
+ 980,
89
+ 11492
90
+ ],
91
+ "assistant_prompt_prefix_token_ids": [
92
+ 10356,
93
+ 14,
94
+ 5,
95
+ 4,
96
+ 8165,
97
+ 430
98
+ ]
99
+ },
100
+ "generation_defaults": {
101
+ "max_new_frames": 375,
102
+ "do_sample": true,
103
+ "sample_mode": "fixed",
104
+ "text_temperature": 0.9,
105
+ "text_top_p": 1.0,
106
+ "text_top_k": 50,
107
+ "audio_temperature": 0.9,
108
+ "audio_top_p": 0.9,
109
+ "audio_top_k": 25,
110
+ "audio_repetition_penalty": 1.0
111
+ },
112
+ "default_voice": {
113
+ "voice": "male_default",
114
+ "prompt_audio_codes": [
115
+ [
116
+ 461,
117
+ 460,
118
+ 54,
119
+ 81,
120
+ 322,
121
+ 964,
122
+ 804,
123
+ 115,
124
+ 92,
125
+ 681,
126
+ 701,
127
+ 616,
128
+ 65,
129
+ 922,
130
+ 877,
131
+ 176
132
+ ],
133
+ [
134
+ 946,
135
+ 100,
136
+ 796,
137
+ 509,
138
+ 848,
139
+ 465,
140
+ 432,
141
+ 855,
142
+ 381,
143
+ 847,
144
+ 538,
145
+ 442,
146
+ 894,
147
+ 896,
148
+ 599,
149
+ 53
150
+ ],
151
+ [
152
+ 850,
153
+ 390,
154
+ 641,
155
+ 645,
156
+ 583,
157
+ 172,
158
+ 870,
159
+ 36,
160
+ 437,
161
+ 114,
162
+ 525,
163
+ 419,
164
+ 569,
165
+ 328,
166
+ 645,
167
+ 38
168
+ ],
169
+ [
170
+ 1011,
171
+ 132,
172
+ 222,
173
+ 904,
174
+ 304,
175
+ 854,
176
+ 487,
177
+ 103,
178
+ 72,
179
+ 567,
180
+ 996,
181
+ 151,
182
+ 932,
183
+ 105,
184
+ 496,
185
+ 984
186
+ ],
187
+ [
188
+ 743,
189
+ 315,
190
+ 548,
191
+ 387,
192
+ 432,
193
+ 202,
194
+ 555,
195
+ 267,
196
+ 88,
197
+ 460,
198
+ 316,
199
+ 633,
200
+ 16,
201
+ 769,
202
+ 539,
203
+ 611
204
+ ],
205
+ [
206
+ 677,
207
+ 710,
208
+ 804,
209
+ 762,
210
+ 218,
211
+ 624,
212
+ 968,
213
+ 454,
214
+ 830,
215
+ 726,
216
+ 398,
217
+ 312,
218
+ 638,
219
+ 520,
220
+ 189,
221
+ 522
222
+ ],
223
+ [
224
+ 684,
225
+ 815,
226
+ 157,
227
+ 988,
228
+ 640,
229
+ 273,
230
+ 627,
231
+ 198,
232
+ 148,
233
+ 922,
234
+ 860,
235
+ 620,
236
+ 786,
237
+ 259,
238
+ 833,
239
+ 78
240
+ ],
241
+ [
242
+ 985,
243
+ 491,
244
+ 413,
245
+ 847,
246
+ 934,
247
+ 634,
248
+ 43,
249
+ 560,
250
+ 533,
251
+ 644,
252
+ 739,
253
+ 72,
254
+ 76,
255
+ 254,
256
+ 89,
257
+ 344
258
+ ],
259
+ [
260
+ 623,
261
+ 880,
262
+ 222,
263
+ 1004,
264
+ 937,
265
+ 915,
266
+ 291,
267
+ 922,
268
+ 590,
269
+ 952,
270
+ 429,
271
+ 566,
272
+ 524,
273
+ 30,
274
+ 251,
275
+ 349
276
+ ],
277
+ [
278
+ 815,
279
+ 70,
280
+ 727,
281
+ 721,
282
+ 923,
283
+ 526,
284
+ 960,
285
+ 254,
286
+ 914,
287
+ 922,
288
+ 656,
289
+ 736,
290
+ 755,
291
+ 782,
292
+ 839,
293
+ 952
294
+ ],
295
+ [
296
+ 273,
297
+ 275,
298
+ 647,
299
+ 673,
300
+ 164,
301
+ 705,
302
+ 388,
303
+ 113,
304
+ 980,
305
+ 175,
306
+ 978,
307
+ 965,
308
+ 671,
309
+ 131,
310
+ 91,
311
+ 622
312
+ ],
313
+ [
314
+ 273,
315
+ 266,
316
+ 128,
317
+ 862,
318
+ 806,
319
+ 791,
320
+ 341,
321
+ 391,
322
+ 330,
323
+ 491,
324
+ 257,
325
+ 16,
326
+ 596,
327
+ 7,
328
+ 193,
329
+ 77
330
+ ],
331
+ [
332
+ 262,
333
+ 94,
334
+ 335,
335
+ 472,
336
+ 466,
337
+ 867,
338
+ 496,
339
+ 799,
340
+ 940,
341
+ 49,
342
+ 426,
343
+ 97,
344
+ 86,
345
+ 833,
346
+ 34,
347
+ 975
348
+ ],
349
+ [
350
+ 642,
351
+ 311,
352
+ 725,
353
+ 1020,
354
+ 170,
355
+ 926,
356
+ 439,
357
+ 691,
358
+ 353,
359
+ 759,
360
+ 404,
361
+ 847,
362
+ 73,
363
+ 24,
364
+ 593,
365
+ 227
366
+ ],
367
+ [
368
+ 642,
369
+ 913,
370
+ 749,
371
+ 526,
372
+ 208,
373
+ 161,
374
+ 479,
375
+ 123,
376
+ 419,
377
+ 0,
378
+ 444,
379
+ 51,
380
+ 246,
381
+ 264,
382
+ 64,
383
+ 155
384
+ ],
385
+ [
386
+ 642,
387
+ 700,
388
+ 360,
389
+ 178,
390
+ 986,
391
+ 195,
392
+ 869,
393
+ 121,
394
+ 170,
395
+ 232,
396
+ 413,
397
+ 1004,
398
+ 922,
399
+ 612,
400
+ 426,
401
+ 612
402
+ ],
403
+ [
404
+ 642,
405
+ 13,
406
+ 448,
407
+ 252,
408
+ 513,
409
+ 439,
410
+ 967,
411
+ 481,
412
+ 668,
413
+ 968,
414
+ 860,
415
+ 234,
416
+ 721,
417
+ 177,
418
+ 363,
419
+ 476
420
+ ],
421
+ [
422
+ 808,
423
+ 564,
424
+ 231,
425
+ 667,
426
+ 108,
427
+ 782,
428
+ 338,
429
+ 82,
430
+ 340,
431
+ 549,
432
+ 856,
433
+ 337,
434
+ 725,
435
+ 836,
436
+ 17,
437
+ 19
438
+ ],
439
+ [
440
+ 845,
441
+ 239,
442
+ 943,
443
+ 891,
444
+ 807,
445
+ 350,
446
+ 98,
447
+ 408,
448
+ 708,
449
+ 858,
450
+ 378,
451
+ 230,
452
+ 741,
453
+ 145,
454
+ 651,
455
+ 605
456
+ ],
457
+ [
458
+ 412,
459
+ 119,
460
+ 134,
461
+ 604,
462
+ 543,
463
+ 857,
464
+ 1009,
465
+ 93,
466
+ 891,
467
+ 375,
468
+ 860,
469
+ 469,
470
+ 391,
471
+ 470,
472
+ 853,
473
+ 311
474
+ ],
475
+ [
476
+ 175,
477
+ 159,
478
+ 521,
479
+ 657,
480
+ 254,
481
+ 706,
482
+ 109,
483
+ 828,
484
+ 985,
485
+ 843,
486
+ 116,
487
+ 536,
488
+ 923,
489
+ 584,
490
+ 144,
491
+ 673
492
+ ],
493
+ [
494
+ 916,
495
+ 477,
496
+ 948,
497
+ 145,
498
+ 534,
499
+ 534,
500
+ 260,
501
+ 914,
502
+ 87,
503
+ 918,
504
+ 140,
505
+ 553,
506
+ 682,
507
+ 230,
508
+ 416,
509
+ 586
510
+ ],
511
+ [
512
+ 957,
513
+ 745,
514
+ 203,
515
+ 836,
516
+ 865,
517
+ 684,
518
+ 5,
519
+ 905,
520
+ 658,
521
+ 966,
522
+ 759,
523
+ 258,
524
+ 453,
525
+ 394,
526
+ 164,
527
+ 764
528
+ ],
529
+ [
530
+ 972,
531
+ 121,
532
+ 967,
533
+ 607,
534
+ 843,
535
+ 948,
536
+ 722,
537
+ 612,
538
+ 590,
539
+ 108,
540
+ 984,
541
+ 958,
542
+ 19,
543
+ 28,
544
+ 590,
545
+ 138
546
+ ],
547
+ [
548
+ 1020,
549
+ 369,
550
+ 654,
551
+ 932,
552
+ 996,
553
+ 245,
554
+ 894,
555
+ 669,
556
+ 266,
557
+ 111,
558
+ 770,
559
+ 310,
560
+ 603,
561
+ 436,
562
+ 201,
563
+ 659
564
+ ],
565
+ [
566
+ 623,
567
+ 949,
568
+ 4,
569
+ 76,
570
+ 706,
571
+ 1017,
572
+ 670,
573
+ 329,
574
+ 21,
575
+ 379,
576
+ 727,
577
+ 619,
578
+ 888,
579
+ 246,
580
+ 181,
581
+ 390
582
+ ],
583
+ [
584
+ 579,
585
+ 544,
586
+ 1015,
587
+ 823,
588
+ 446,
589
+ 359,
590
+ 205,
591
+ 67,
592
+ 788,
593
+ 12,
594
+ 711,
595
+ 610,
596
+ 284,
597
+ 653,
598
+ 180,
599
+ 976
600
+ ],
601
+ [
602
+ 819,
603
+ 205,
604
+ 794,
605
+ 567,
606
+ 561,
607
+ 914,
608
+ 813,
609
+ 769,
610
+ 251,
611
+ 995,
612
+ 162,
613
+ 122,
614
+ 713,
615
+ 506,
616
+ 734,
617
+ 344
618
+ ],
619
+ [
620
+ 689,
621
+ 940,
622
+ 647,
623
+ 1017,
624
+ 845,
625
+ 352,
626
+ 731,
627
+ 643,
628
+ 838,
629
+ 660,
630
+ 505,
631
+ 939,
632
+ 645,
633
+ 884,
634
+ 169,
635
+ 796
636
+ ],
637
+ [
638
+ 909,
639
+ 383,
640
+ 522,
641
+ 397,
642
+ 1008,
643
+ 51,
644
+ 456,
645
+ 412,
646
+ 826,
647
+ 455,
648
+ 972,
649
+ 702,
650
+ 786,
651
+ 254,
652
+ 408,
653
+ 976
654
+ ],
655
+ [
656
+ 167,
657
+ 427,
658
+ 54,
659
+ 363,
660
+ 358,
661
+ 102,
662
+ 611,
663
+ 669,
664
+ 978,
665
+ 774,
666
+ 167,
667
+ 274,
668
+ 371,
669
+ 879,
670
+ 64,
671
+ 102
672
+ ],
673
+ [
674
+ 670,
675
+ 666,
676
+ 485,
677
+ 230,
678
+ 1002,
679
+ 523,
680
+ 110,
681
+ 136,
682
+ 356,
683
+ 192,
684
+ 860,
685
+ 773,
686
+ 629,
687
+ 518,
688
+ 556,
689
+ 274
690
+ ],
691
+ [
692
+ 199,
693
+ 666,
694
+ 371,
695
+ 148,
696
+ 205,
697
+ 58,
698
+ 465,
699
+ 768,
700
+ 956,
701
+ 944,
702
+ 421,
703
+ 828,
704
+ 460,
705
+ 464,
706
+ 662,
707
+ 477
708
+ ],
709
+ [
710
+ 199,
711
+ 666,
712
+ 716,
713
+ 524,
714
+ 927,
715
+ 564,
716
+ 333,
717
+ 516,
718
+ 561,
719
+ 325,
720
+ 935,
721
+ 986,
722
+ 837,
723
+ 357,
724
+ 947,
725
+ 879
726
+ ],
727
+ [
728
+ 356,
729
+ 449,
730
+ 770,
731
+ 713,
732
+ 707,
733
+ 948,
734
+ 153,
735
+ 466,
736
+ 216,
737
+ 631,
738
+ 395,
739
+ 894,
740
+ 300,
741
+ 922,
742
+ 873,
743
+ 733
744
+ ],
745
+ [
746
+ 916,
747
+ 104,
748
+ 336,
749
+ 695,
750
+ 707,
751
+ 826,
752
+ 161,
753
+ 531,
754
+ 1001,
755
+ 482,
756
+ 990,
757
+ 654,
758
+ 523,
759
+ 94,
760
+ 378,
761
+ 222
762
+ ],
763
+ [
764
+ 872,
765
+ 837,
766
+ 89,
767
+ 608,
768
+ 238,
769
+ 492,
770
+ 298,
771
+ 69,
772
+ 312,
773
+ 600,
774
+ 727,
775
+ 44,
776
+ 135,
777
+ 21,
778
+ 624,
779
+ 688
780
+ ],
781
+ [
782
+ 318,
783
+ 868,
784
+ 909,
785
+ 1015,
786
+ 553,
787
+ 288,
788
+ 404,
789
+ 31,
790
+ 240,
791
+ 769,
792
+ 371,
793
+ 113,
794
+ 806,
795
+ 822,
796
+ 388,
797
+ 834
798
+ ],
799
+ [
800
+ 684,
801
+ 859,
802
+ 757,
803
+ 57,
804
+ 645,
805
+ 119,
806
+ 373,
807
+ 293,
808
+ 1012,
809
+ 706,
810
+ 118,
811
+ 329,
812
+ 529,
813
+ 240,
814
+ 180,
815
+ 781
816
+ ],
817
+ [
818
+ 738,
819
+ 469,
820
+ 553,
821
+ 216,
822
+ 219,
823
+ 661,
824
+ 206,
825
+ 579,
826
+ 763,
827
+ 766,
828
+ 488,
829
+ 555,
830
+ 623,
831
+ 890,
832
+ 319,
833
+ 672
834
+ ],
835
+ [
836
+ 925,
837
+ 469,
838
+ 553,
839
+ 719,
840
+ 866,
841
+ 702,
842
+ 389,
843
+ 616,
844
+ 98,
845
+ 106,
846
+ 753,
847
+ 386,
848
+ 307,
849
+ 852,
850
+ 433,
851
+ 956
852
+ ],
853
+ [
854
+ 623,
855
+ 893,
856
+ 615,
857
+ 538,
858
+ 658,
859
+ 948,
860
+ 740,
861
+ 636,
862
+ 146,
863
+ 980,
864
+ 17,
865
+ 502,
866
+ 398,
867
+ 376,
868
+ 214,
869
+ 673
870
+ ],
871
+ [
872
+ 664,
873
+ 144,
874
+ 114,
875
+ 719,
876
+ 710,
877
+ 972,
878
+ 766,
879
+ 932,
880
+ 225,
881
+ 544,
882
+ 88,
883
+ 249,
884
+ 685,
885
+ 241,
886
+ 738,
887
+ 38
888
+ ],
889
+ [
890
+ 670,
891
+ 666,
892
+ 42,
893
+ 252,
894
+ 448,
895
+ 580,
896
+ 852,
897
+ 65,
898
+ 144,
899
+ 1,
900
+ 936,
901
+ 895,
902
+ 445,
903
+ 229,
904
+ 215,
905
+ 858
906
+ ]
907
+ ]
908
+ }
909
+ }
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c353ee1479b536bf414c1b247f5542b6607fb8ae91320e5af1781fee200fddff
3
+ size 470897