reach-vb HF staff erogol commited on
Commit
a028a9a
0 Parent(s):

Duplicate from coqui/XTTS-v2

Browse files

Co-authored-by: Eren Gölge <erogol@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
LICENSE.txt ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Coqui Public Model License 1.0.0
2
+ https://coqui.ai/cpml.txt
3
+
4
+
5
+ This license allows only non-commercial use of a machine learning model and its outputs.
6
+
7
+
8
+ ## Acceptance
9
+
10
+
11
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
12
+
13
+
14
+ ## Licenses
15
+
16
+
17
+ The licensor grants you a copyright license to do everything you might do with the model that would otherwise infringe the licensor's copyright in it, for any non-commercial purpose. The licensor grants you a patent license that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the model in the form provided by
18
+ the licensor, for any non-commercial purpose.
19
+
20
+
21
+ ## Non-commercial Purpose
22
+
23
+
24
+ Non-commercial purposes include any of the following uses of the model or its output, but only so far as you do not receive any direct or indirect payment arising from the use of the model or its output.
25
+
26
+
27
+ ### Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious
28
+ observance.
29
+
30
+
31
+ ### Use by commercial or for-profit entities for testing, evaluation, or non-commercial research and development. Use of the model to train other models for commercial use is not a non-commercial purpose.
32
+
33
+
34
+ ### Use by any charitable organization for charitable purposes, or for testing or evaluation. Use for revenue-generating activity, including projects directly funded by government grants, is not a non-commercial purpose.
35
+
36
+
37
+ ## Notices
38
+
39
+
40
+ You must ensure that anyone who gets a copy of any part of the model, or any modification of the model, or their output, from you also gets a copy of these terms or the URL for them above.
41
+
42
+
43
+ ## No Other Rights
44
+
45
+
46
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply
47
+ any other licenses.
48
+
49
+
50
+ ## Patent Defense
51
+
52
+
53
+ If you make any written claim that the model infringes or contributes to infringement of any patent, your licenses for the model granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
54
+
55
+
56
+ ## Violations
57
+
58
+
59
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the model or its output that is not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 30 days of receiving notice. Otherwise, all your licenses
60
+ end immediately.
61
+
62
+
63
+ ## No Liability
64
+
65
+
66
+ ***As far as the law allows, the model and its output come as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the model or its output, under any kind of legal claim. If this provision is not enforceable in your jurisdiction, your licenses are void.***
67
+
68
+
69
+ ## Definitions
70
+
71
+
72
+ The **licensor** is the individual or entity offering these terms, and the **model** is the model the licensor makes available under these terms, including any documentation or similar information about the model.
73
+
74
+
75
+ **You** refers to the individual or entity agreeing to these terms.
76
+
77
+
78
+ **Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
79
+
80
+
81
+ **Your licenses** are all the licenses granted to you under these terms.
82
+
83
+
84
+ **Use** means anything you do with the model or its output requiring one of your licenses.
README.md ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: coqui-public-model-license
4
+ license_link: https://coqui.ai/cpml
5
+ library_name: coqui
6
+ pipeline_tag: text-to-speech
7
+ widget:
8
+ - text: "Once when I was six years old I saw a magnificent picture"
9
+ ---
10
+
11
+ # ⓍTTS
12
+ ⓍTTS is a Voice generation model that lets you clone voices into different languages by using just a quick 6-second audio clip. There is no need for an excessive amount of training data that spans countless hours.
13
+
14
+ This is the same or similar model to what powers [Coqui Studio](https://coqui.ai/) and [Coqui API](https://docs.coqui.ai/docs).
15
+
16
+ ### Features
17
+ - Supports 16 languages.
18
+ - Voice cloning with just a 6-second audio clip.
19
+ - Emotion and style transfer by cloning.
20
+ - Cross-language voice cloning.
21
+ - Multi-lingual speech generation.
22
+ - 24khz sampling rate.
23
+
24
+ ### Updates over XTTS-v1
25
+ - 2 new languages; Hungarian and Korean
26
+ - Architectural improvements for speaker conditioning.
27
+ - Enables the use of multiple speaker references and interpolation between speakers.
28
+ - Stability improvements.
29
+ - Better prosody and audio quality across the board.
30
+
31
+ ### Languages
32
+ XTTS-v2 supports 16 languages: **English (en), Spanish (es), French (fr), German (de), Italian (it), Portuguese (pt),
33
+ Polish (pl), Turkish (tr), Russian (ru), Dutch (nl), Czech (cs), Arabic (ar), Chinese (zh-cn), Japanese (ja), Hungarian (hu) and Korean (ko)**.
34
+
35
+ Stay tuned as we continue to add support for more languages. If you have any language requests, feel free to reach out!
36
+
37
+ ### Code
38
+ The [code-base](https://github.com/coqui-ai/TTS) supports inference and [fine-tuning](https://tts.readthedocs.io/en/latest/models/xtts.html#training).
39
+
40
+ ### Demo Spaces
41
+ - [XTTS Space](https://huggingface.co/spaces/coqui/xtts) : You can see how model performs on supported languages, and try with your own reference or microphone input
42
+ - [XTTS Voice Chat with Mistral or Zephyr](https://huggingface.co/spaces/coqui/voice-chat-with-mistral) : You can experience streaming voice chat with Mistral 7B Instruct or Zephyr 7B Beta
43
+
44
+ ### License
45
+ This model is licensed under [Coqui Public Model License](https://coqui.ai/cpml). There's a lot that goes into a license for generative models, and you can read more of [the origin story of CPML here](https://coqui.ai/blog/tts/cpml).
46
+
47
+ ### Contact
48
+ Come and join in our 🐸Community. We're active on [Discord](https://discord.gg/fBC58unbKE) and [Twitter](https://twitter.com/coqui_ai).
49
+ You can also mail us at info@coqui.ai.
50
+
51
+ Using 🐸TTS API:
52
+
53
+ ```python
54
+ from TTS.api import TTS
55
+ tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2", gpu=True)
56
+
57
+ # generate speech by cloning a voice using default settings
58
+ tts.tts_to_file(text="It took me quite a long time to develop a voice, and now that I have it I'm not going to be silent.",
59
+ file_path="output.wav",
60
+ speaker_wav="/path/to/target/speaker.wav",
61
+ language="en")
62
+
63
+ # generate speech by cloning a voice using custom settings
64
+ tts.tts_to_file(text="It took me quite a long time to develop a voice, and now that I have it I'm not going to be silent.",
65
+ file_path="output.wav",
66
+ speaker_wav="/path/to/target/speaker.wav",
67
+ language="en",
68
+ decoder_iterations=30)
69
+ ```
70
+
71
+ Using 🐸TTS Command line:
72
+
73
+ ```console
74
+ tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 \
75
+ --text "Bugün okula gitmek istemiyorum." \
76
+ --speaker_wav /path/to/target/speaker.wav \
77
+ --language_idx tr \
78
+ --use_cuda true
79
+ ```
80
+
81
+ Using the model directly:
82
+
83
+ ```python
84
+ from TTS.tts.configs.xtts_config import XttsConfig
85
+ from TTS.tts.models.xtts import Xtts
86
+
87
+ config = XttsConfig()
88
+ config.load_json("/path/to/xtts/config.json")
89
+ model = Xtts.init_from_config(config)
90
+ model.load_checkpoint(config, checkpoint_dir="/path/to/xtts/", eval=True)
91
+ model.cuda()
92
+
93
+ outputs = model.synthesize(
94
+ "It took me quite a long time to develop a voice and now that I have it I am not going to be silent.",
95
+ config,
96
+ speaker_wav="/data/TTS-public/_refclips/3.wav",
97
+ gpt_cond_len=3,
98
+ language="en",
99
+ )
100
+ ```
config.json ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "output_path": "output",
3
+ "logger_uri": null,
4
+ "run_name": "run",
5
+ "project_name": null,
6
+ "run_description": "\ud83d\udc38Coqui trainer run.",
7
+ "print_step": 25,
8
+ "plot_step": 100,
9
+ "model_param_stats": false,
10
+ "wandb_entity": null,
11
+ "dashboard_logger": "tensorboard",
12
+ "save_on_interrupt": true,
13
+ "log_model_step": null,
14
+ "save_step": 10000,
15
+ "save_n_checkpoints": 5,
16
+ "save_checkpoints": true,
17
+ "save_all_best": false,
18
+ "save_best_after": 10000,
19
+ "target_loss": null,
20
+ "print_eval": false,
21
+ "test_delay_epochs": 0,
22
+ "run_eval": true,
23
+ "run_eval_steps": null,
24
+ "distributed_backend": "nccl",
25
+ "distributed_url": "tcp://localhost:54321",
26
+ "mixed_precision": false,
27
+ "precision": "fp16",
28
+ "epochs": 1000,
29
+ "batch_size": 32,
30
+ "eval_batch_size": 16,
31
+ "grad_clip": 0.0,
32
+ "scheduler_after_epoch": true,
33
+ "lr": 0.001,
34
+ "optimizer": "radam",
35
+ "optimizer_params": null,
36
+ "lr_scheduler": null,
37
+ "lr_scheduler_params": {},
38
+ "use_grad_scaler": false,
39
+ "allow_tf32": false,
40
+ "cudnn_enable": true,
41
+ "cudnn_deterministic": false,
42
+ "cudnn_benchmark": false,
43
+ "training_seed": 54321,
44
+ "model": "xtts",
45
+ "num_loader_workers": 0,
46
+ "num_eval_loader_workers": 0,
47
+ "use_noise_augment": false,
48
+ "audio": {
49
+ "sample_rate": 22050,
50
+ "output_sample_rate": 24000
51
+ },
52
+ "use_phonemes": false,
53
+ "phonemizer": null,
54
+ "phoneme_language": null,
55
+ "compute_input_seq_cache": false,
56
+ "text_cleaner": null,
57
+ "enable_eos_bos_chars": false,
58
+ "test_sentences_file": "",
59
+ "phoneme_cache_path": null,
60
+ "characters": null,
61
+ "add_blank": false,
62
+ "batch_group_size": 0,
63
+ "loss_masking": null,
64
+ "min_audio_len": 1,
65
+ "max_audio_len": Infinity,
66
+ "min_text_len": 1,
67
+ "max_text_len": Infinity,
68
+ "compute_f0": false,
69
+ "compute_energy": false,
70
+ "compute_linear_spec": false,
71
+ "precompute_num_workers": 0,
72
+ "start_by_longest": false,
73
+ "shuffle": false,
74
+ "drop_last": false,
75
+ "datasets": [
76
+ {
77
+ "formatter": "",
78
+ "dataset_name": "",
79
+ "path": "",
80
+ "meta_file_train": "",
81
+ "ignored_speakers": null,
82
+ "language": "",
83
+ "phonemizer": "",
84
+ "meta_file_val": "",
85
+ "meta_file_attn_mask": ""
86
+ }
87
+ ],
88
+ "test_sentences": [],
89
+ "eval_split_max_size": null,
90
+ "eval_split_size": 0.01,
91
+ "use_speaker_weighted_sampler": false,
92
+ "speaker_weighted_sampler_alpha": 1.0,
93
+ "use_language_weighted_sampler": false,
94
+ "language_weighted_sampler_alpha": 1.0,
95
+ "use_length_weighted_sampler": false,
96
+ "length_weighted_sampler_alpha": 1.0,
97
+ "model_args": {
98
+ "gpt_batch_size": 1,
99
+ "enable_redaction": false,
100
+ "kv_cache": true,
101
+ "gpt_checkpoint": null,
102
+ "clvp_checkpoint": null,
103
+ "decoder_checkpoint": null,
104
+ "num_chars": 255,
105
+ "tokenizer_file": "",
106
+ "gpt_max_audio_tokens": 605,
107
+ "gpt_max_text_tokens": 402,
108
+ "gpt_max_prompt_tokens": 70,
109
+ "gpt_layers": 30,
110
+ "gpt_n_model_channels": 1024,
111
+ "gpt_n_heads": 16,
112
+ "gpt_number_text_tokens": 6153,
113
+ "gpt_start_text_token": null,
114
+ "gpt_stop_text_token": null,
115
+ "gpt_num_audio_tokens": 1026,
116
+ "gpt_start_audio_token": 1024,
117
+ "gpt_stop_audio_token": 1025,
118
+ "gpt_code_stride_len": 1024,
119
+ "gpt_use_masking_gt_prompt_approach": true,
120
+ "gpt_use_perceiver_resampler": true,
121
+ "diff_model_channels": 1024,
122
+ "diff_num_layers": 10,
123
+ "diff_in_channels": 100,
124
+ "diff_out_channels": 200,
125
+ "diff_in_latent_channels": 1024,
126
+ "diff_in_tokens": 8193,
127
+ "diff_dropout": 0,
128
+ "diff_use_fp16": false,
129
+ "diff_num_heads": 16,
130
+ "diff_layer_drop": 0,
131
+ "diff_unconditioned_percentage": 0,
132
+ "input_sample_rate": 22050,
133
+ "output_sample_rate": 24000,
134
+ "output_hop_length": 256,
135
+ "decoder_input_dim": 1024,
136
+ "d_vector_dim": 512,
137
+ "cond_d_vector_in_each_upsampling_layer": true,
138
+ "duration_const": 102400
139
+ },
140
+ "model_dir": null,
141
+ "languages": [
142
+ "en",
143
+ "es",
144
+ "fr",
145
+ "de",
146
+ "it",
147
+ "pt",
148
+ "pl",
149
+ "tr",
150
+ "ru",
151
+ "nl",
152
+ "cs",
153
+ "ar",
154
+ "zh-cn",
155
+ "hu",
156
+ "ko",
157
+ "ja"
158
+ ],
159
+ "temperature": 0.75,
160
+ "length_penalty": 1.0,
161
+ "repetition_penalty": 10.0,
162
+ "top_k": 50,
163
+ "top_p": 0.85,
164
+ "cond_free_k": 2.0,
165
+ "diffusion_temperature": 1.0,
166
+ "num_gpt_outputs": 1,
167
+ "decoder_iterations": 30,
168
+ "decoder_sampler": "ddim",
169
+ "gpt_cond_len": 30,
170
+ "max_ref_len": 30,
171
+ "sound_norm_refs": false
172
+ }
dvae.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b29bc227d410d4991e0a8c09b858f77415013eeb9fba9650258e96095557d97a
3
+ size 210514388
hash.md5 ADDED
@@ -0,0 +1 @@
 
 
1
+ 6a09d1ad43896f06041ed8195956c9698f13b6189dc80f1c74bdc2b8e8d15324
mel_stats.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1f69422a8a8f344c4fca2f0c6b8d41d2151d6615b7321e48e6bb15ae949b119c
3
+ size 1067
model.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a9bf08409cdef1626e1da99d3c9891deb49f925173de622831a4e9b8c91fdeb5
3
+ size 1863575774
samples/de_sample.wav ADDED
Binary file (299 kB). View file
 
samples/en_sample.wav ADDED
Binary file (299 kB). View file
 
samples/es_sample.wav ADDED
Binary file (330 kB). View file
 
samples/fr_sample.wav ADDED
Binary file (432 kB). View file
 
samples/ja-sample.wav ADDED
Binary file (285 kB). View file
 
samples/pt_sample.wav ADDED
Binary file (445 kB). View file
 
samples/tr_sample.wav ADDED
Binary file (299 kB). View file
 
samples/zh-cn-sample.wav ADDED
Binary file (383 kB). View file
 
vocab.json ADDED
The diff for this file is too large to render. See raw diff