add model
Browse files- .gitattributes +12 -0
- CosyVoice-BlankEN/config.json +27 -0
- CosyVoice-BlankEN/generation_config.json +14 -0
- CosyVoice-BlankEN/merges.txt +0 -0
- CosyVoice-BlankEN/model.safetensors +3 -0
- CosyVoice-BlankEN/tokenizer_config.json +40 -0
- CosyVoice-BlankEN/vocab.json +0 -0
- campplus.onnx +3 -0
- configuration.json +1 -0
- cosyvoice.yaml +140 -0
- flow.decoder.estimator.fp16.A10.plan +3 -0
- flow.decoder.estimator.fp16.Volta.plan +3 -0
- flow.decoder.estimator.fp16.a800.plan +3 -0
- flow.decoder.estimator.fp16.l20.plan +3 -0
- flow.decoder.estimator.fp32.onnx +3 -0
- flow.encoder.fp32.zip +3 -0
- flow.pt +3 -0
- hift.pt +3 -0
- llm.pt +3 -0
- speech_tokenizer_v2.onnx +3 -0
.gitattributes
CHANGED
@@ -33,3 +33,15 @@ 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 |
+
flow.decoder.estimator.fp16.l20.plan filter=lfs diff=lfs merge=lfs -text
|
37 |
+
speech_tokenizer_v2.onnx filter=lfs diff=lfs merge=lfs -text
|
38 |
+
flow.pt filter=lfs diff=lfs merge=lfs -text
|
39 |
+
hift.pt filter=lfs diff=lfs merge=lfs -text
|
40 |
+
flow.encoder.fp32.zip filter=lfs diff=lfs merge=lfs -text
|
41 |
+
flow.decoder.estimator.fp16.A10.plan filter=lfs diff=lfs merge=lfs -text
|
42 |
+
flow.decoder.estimator.fp16.a800.plan filter=lfs diff=lfs merge=lfs -text
|
43 |
+
flow.decoder.estimator.fp16.Volta.plan filter=lfs diff=lfs merge=lfs -text
|
44 |
+
campplus.onnx filter=lfs diff=lfs merge=lfs -text
|
45 |
+
flow.decoder.estimator.fp32.onnx filter=lfs diff=lfs merge=lfs -text
|
46 |
+
llm.pt filter=lfs diff=lfs merge=lfs -text
|
47 |
+
CosyVoice-BlankEN/model.safetensors filter=lfs diff=lfs merge=lfs -text
|
CosyVoice-BlankEN/config.json
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"architectures": [
|
3 |
+
"Qwen2ForCausalLM"
|
4 |
+
],
|
5 |
+
"attention_dropout": 0.0,
|
6 |
+
"bos_token_id": 151643,
|
7 |
+
"eos_token_id": 151645,
|
8 |
+
"hidden_act": "silu",
|
9 |
+
"hidden_size": 896,
|
10 |
+
"initializer_range": 0.02,
|
11 |
+
"intermediate_size": 4864,
|
12 |
+
"max_position_embeddings": 32768,
|
13 |
+
"max_window_layers": 24,
|
14 |
+
"model_type": "qwen2",
|
15 |
+
"num_attention_heads": 14,
|
16 |
+
"num_hidden_layers": 24,
|
17 |
+
"num_key_value_heads": 2,
|
18 |
+
"rms_norm_eps": 1e-06,
|
19 |
+
"rope_theta": 1000000.0,
|
20 |
+
"sliding_window": 32768,
|
21 |
+
"tie_word_embeddings": true,
|
22 |
+
"torch_dtype": "bfloat16",
|
23 |
+
"transformers_version": "4.40.1",
|
24 |
+
"use_cache": true,
|
25 |
+
"use_sliding_window": false,
|
26 |
+
"vocab_size": 151936
|
27 |
+
}
|
CosyVoice-BlankEN/generation_config.json
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token_id": 151643,
|
3 |
+
"pad_token_id": 151643,
|
4 |
+
"do_sample": true,
|
5 |
+
"eos_token_id": [
|
6 |
+
151645,
|
7 |
+
151643
|
8 |
+
],
|
9 |
+
"repetition_penalty": 1.1,
|
10 |
+
"temperature": 0.7,
|
11 |
+
"top_p": 0.8,
|
12 |
+
"top_k": 20,
|
13 |
+
"transformers_version": "4.37.0"
|
14 |
+
}
|
CosyVoice-BlankEN/merges.txt
ADDED
The diff for this file is too large to render.
See raw diff
|
|
CosyVoice-BlankEN/model.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:130282af0dfa9fe5840737cc49a0d339d06075f83c5a315c3372c9a0740d0b96
|
3 |
+
size 988097824
|
CosyVoice-BlankEN/tokenizer_config.json
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"add_prefix_space": false,
|
3 |
+
"added_tokens_decoder": {
|
4 |
+
"151643": {
|
5 |
+
"content": "<|endoftext|>",
|
6 |
+
"lstrip": false,
|
7 |
+
"normalized": false,
|
8 |
+
"rstrip": false,
|
9 |
+
"single_word": false,
|
10 |
+
"special": true
|
11 |
+
},
|
12 |
+
"151644": {
|
13 |
+
"content": "<|im_start|>",
|
14 |
+
"lstrip": false,
|
15 |
+
"normalized": false,
|
16 |
+
"rstrip": false,
|
17 |
+
"single_word": false,
|
18 |
+
"special": true
|
19 |
+
},
|
20 |
+
"151645": {
|
21 |
+
"content": "<|im_end|>",
|
22 |
+
"lstrip": false,
|
23 |
+
"normalized": false,
|
24 |
+
"rstrip": false,
|
25 |
+
"single_word": false,
|
26 |
+
"special": true
|
27 |
+
}
|
28 |
+
},
|
29 |
+
"additional_special_tokens": ["<|im_start|>", "<|im_end|>"],
|
30 |
+
"bos_token": null,
|
31 |
+
"chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
|
32 |
+
"clean_up_tokenization_spaces": false,
|
33 |
+
"eos_token": "<|im_end|>",
|
34 |
+
"errors": "replace",
|
35 |
+
"model_max_length": 32768,
|
36 |
+
"pad_token": "<|endoftext|>",
|
37 |
+
"split_special_tokens": false,
|
38 |
+
"tokenizer_class": "Qwen2Tokenizer",
|
39 |
+
"unk_token": null
|
40 |
+
}
|
CosyVoice-BlankEN/vocab.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
campplus.onnx
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a6ac6a63997761ae2997373e2ee1c47040854b4b759ea41ec48e4e42df0f4d73
|
3 |
+
size 28303423
|
configuration.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"framework":"Pytorch","task":"text-to-speech"}
|
cosyvoice.yaml
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# set random seed, so that you may reproduce your result.
|
2 |
+
__set_seed1: !apply:random.seed [1986]
|
3 |
+
__set_seed2: !apply:numpy.random.seed [1986]
|
4 |
+
__set_seed3: !apply:torch.manual_seed [1986]
|
5 |
+
__set_seed4: !apply:torch.cuda.manual_seed_all [1986]
|
6 |
+
|
7 |
+
# fixed params
|
8 |
+
sample_rate: 24000
|
9 |
+
llm_input_size: 896
|
10 |
+
llm_output_size: 896
|
11 |
+
spk_embed_dim: 192
|
12 |
+
qwen_pretrain_path: ''
|
13 |
+
|
14 |
+
# model params
|
15 |
+
# for all class/function included in this repo, we use !<name> or !<new> for intialization, so that user may find all corresponding class/function according to one single yaml.
|
16 |
+
# for system/third_party class/function, we do not require this.
|
17 |
+
llm: !new:cosyvoice.llm.llm.Qwen2LM
|
18 |
+
llm_input_size: !ref <llm_input_size>
|
19 |
+
llm_output_size: !ref <llm_output_size>
|
20 |
+
speech_token_size: 6561
|
21 |
+
length_normalized_loss: True
|
22 |
+
lsm_weight: 0
|
23 |
+
llm: !new:cosyvoice.llm.llm.Qwen2Encoder
|
24 |
+
pretrain_path: !ref <qwen_pretrain_path>
|
25 |
+
sampling: !name:cosyvoice.utils.common.ras_sampling
|
26 |
+
top_p: 0.8
|
27 |
+
top_k: 25
|
28 |
+
win_size: 10
|
29 |
+
tau_r: 0.1
|
30 |
+
|
31 |
+
flow: !new:cosyvoice.flow.flow.CausalMaskedDiffWithXvec
|
32 |
+
input_size: 512
|
33 |
+
output_size: 80
|
34 |
+
spk_embed_dim: !ref <spk_embed_dim>
|
35 |
+
output_type: 'mel'
|
36 |
+
vocab_size: 6561
|
37 |
+
input_frame_rate: 25
|
38 |
+
only_mask_loss: True
|
39 |
+
token_mel_ratio: 2
|
40 |
+
pre_lookahead_len: 3
|
41 |
+
encoder: !new:cosyvoice.transformer.upsample_encoder.UpsampleConformerEncoder
|
42 |
+
output_size: 512
|
43 |
+
attention_heads: 8
|
44 |
+
linear_units: 2048
|
45 |
+
num_blocks: 6
|
46 |
+
dropout_rate: 0.1
|
47 |
+
positional_dropout_rate: 0.1
|
48 |
+
attention_dropout_rate: 0.1
|
49 |
+
normalize_before: True
|
50 |
+
input_layer: 'linear'
|
51 |
+
pos_enc_layer_type: 'rel_pos_espnet'
|
52 |
+
selfattention_layer_type: 'rel_selfattn'
|
53 |
+
input_size: 512
|
54 |
+
use_cnn_module: False
|
55 |
+
macaron_style: False
|
56 |
+
decoder: !new:cosyvoice.flow.flow_matching.CausalConditionalCFM
|
57 |
+
in_channels: 240
|
58 |
+
n_spks: 1
|
59 |
+
spk_emb_dim: 80
|
60 |
+
cfm_params: !new:omegaconf.DictConfig
|
61 |
+
content:
|
62 |
+
sigma_min: 1e-06
|
63 |
+
solver: 'euler'
|
64 |
+
t_scheduler: 'cosine'
|
65 |
+
training_cfg_rate: 0.2
|
66 |
+
inference_cfg_rate: 0.7
|
67 |
+
reg_loss_type: 'l1'
|
68 |
+
estimator: !new:cosyvoice.flow.decoder.ConditionalDecoder
|
69 |
+
in_channels: 320
|
70 |
+
out_channels: 80
|
71 |
+
causal: True
|
72 |
+
channels: [256]
|
73 |
+
dropout: 0.0
|
74 |
+
attention_head_dim: 64
|
75 |
+
n_blocks: 4
|
76 |
+
num_mid_blocks: 12
|
77 |
+
num_heads: 8
|
78 |
+
act_fn: 'gelu'
|
79 |
+
|
80 |
+
hift: !new:cosyvoice.hifigan.generator.HiFTGenerator
|
81 |
+
in_channels: 80
|
82 |
+
base_channels: 512
|
83 |
+
nb_harmonics: 8
|
84 |
+
sampling_rate: !ref <sample_rate>
|
85 |
+
nsf_alpha: 0.1
|
86 |
+
nsf_sigma: 0.003
|
87 |
+
nsf_voiced_threshold: 10
|
88 |
+
upsample_rates: [8, 5, 3]
|
89 |
+
upsample_kernel_sizes: [16, 11, 7]
|
90 |
+
istft_params:
|
91 |
+
n_fft: 16
|
92 |
+
hop_len: 4
|
93 |
+
resblock_kernel_sizes: [3, 7, 11]
|
94 |
+
resblock_dilation_sizes: [[1, 3, 5], [1, 3, 5], [1, 3, 5]]
|
95 |
+
source_resblock_kernel_sizes: [7, 7, 11]
|
96 |
+
source_resblock_dilation_sizes: [[1, 3, 5], [1, 3, 5], [1, 3, 5]]
|
97 |
+
lrelu_slope: 0.1
|
98 |
+
audio_limit: 0.99
|
99 |
+
f0_predictor: !new:cosyvoice.hifigan.f0_predictor.ConvRNNF0Predictor
|
100 |
+
num_class: 1
|
101 |
+
in_channels: 80
|
102 |
+
cond_channels: 512
|
103 |
+
|
104 |
+
# processor functions
|
105 |
+
parquet_opener: !name:cosyvoice.dataset.processor.parquet_opener
|
106 |
+
get_tokenizer: !name:cosyvoice.tokenizer.tokenizer.get_qwen_tokenizer
|
107 |
+
token_path: !ref <qwen_pretrain_path>
|
108 |
+
skip_special_tokens: True
|
109 |
+
allowed_special: 'all'
|
110 |
+
tokenize: !name:cosyvoice.dataset.processor.tokenize
|
111 |
+
get_tokenizer: !ref <get_tokenizer>
|
112 |
+
allowed_special: !ref <allowed_special>
|
113 |
+
filter: !name:cosyvoice.dataset.processor.filter
|
114 |
+
max_length: 40960
|
115 |
+
min_length: 0
|
116 |
+
token_max_length: 200
|
117 |
+
token_min_length: 1
|
118 |
+
resample: !name:cosyvoice.dataset.processor.resample
|
119 |
+
resample_rate: !ref <sample_rate>
|
120 |
+
feat_extractor: !name:matcha.utils.audio.mel_spectrogram
|
121 |
+
n_fft: 1920
|
122 |
+
num_mels: 80
|
123 |
+
sampling_rate: !ref <sample_rate>
|
124 |
+
hop_size: 480
|
125 |
+
win_size: 1920
|
126 |
+
fmin: 0
|
127 |
+
fmax: 8000
|
128 |
+
center: False
|
129 |
+
compute_fbank: !name:cosyvoice.dataset.processor.compute_fbank
|
130 |
+
feat_extractor: !ref <feat_extractor>
|
131 |
+
parse_embedding: !name:cosyvoice.dataset.processor.parse_embedding
|
132 |
+
normalize: True
|
133 |
+
shuffle: !name:cosyvoice.dataset.processor.shuffle
|
134 |
+
shuffle_size: 1000
|
135 |
+
sort: !name:cosyvoice.dataset.processor.sort
|
136 |
+
sort_size: 500 # sort_size should be less than shuffle_size
|
137 |
+
batch: !name:cosyvoice.dataset.processor.batch
|
138 |
+
batch_type: 'dynamic'
|
139 |
+
max_frames_in_batch: 2000
|
140 |
+
padding: !name:cosyvoice.dataset.processor.padding
|
flow.decoder.estimator.fp16.A10.plan
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6f6b9073bd9e7b8ac5bef0a21431391cbc32376b9265ec73935d6f28a0d32d01
|
3 |
+
size 168597292
|
flow.decoder.estimator.fp16.Volta.plan
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f231edf01451fafbc3dc0498a51feb3a264afad43275536c8151fff954ef3c56
|
3 |
+
size 161799540
|
flow.decoder.estimator.fp16.a800.plan
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:14105d80375213591e11d0c8a941966b683fd08a94d885796e1892d7002dba68
|
3 |
+
size 165970980
|
flow.decoder.estimator.fp16.l20.plan
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:012df9e730e36e1cb61bf2780378c15ae92c536ae87518b7a54a90026cb99385
|
3 |
+
size 166520788
|
flow.decoder.estimator.fp32.onnx
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:51aed3efa2c153898ea53a780893c920e968dab1d7aec25402bd6c9815d94702
|
3 |
+
size 286521895
|
flow.encoder.fp32.zip
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:7cf2fdb6cc83952d20a4faade946ab867068b1f5531c95f7b61db932c44c5a43
|
3 |
+
size 192366262
|
flow.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:ff4c2f867674411e0a08cee702996df13fa67c1cd864c06108da88d16d088541
|
3 |
+
size 450575567
|
hift.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1d4af0d661a416c69544eec83ff9c070dc80c37ee53ef44af3a37d910c95bc21
|
3 |
+
size 83364158
|
llm.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b144ef55b51ce8cfb79a73c90dbba0bdaba4e451c0ebcfab20f769264f84a608
|
3 |
+
size 2023316821
|
speech_tokenizer_v2.onnx
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d43342aa12163a80bf07bffb94c9de2e120a8df2f9917cd2f642e7f4219c6f71
|
3 |
+
size 496082973
|