Upload 17 files
Browse files- LICENSE.txt +84 -0
- README.md +103 -0
- config.json +159 -0
- dvae.pth +3 -0
- hash.md5 +1 -0
- mel_stats.pth +3 -0
- model.pth +3 -0
- samples/de_sample.wav +0 -0
- samples/en_sample.wav +0 -0
- samples/es_sample.wav +0 -0
- samples/fr_sample.wav +0 -0
- samples/ja-sample.wav +0 -0
- samples/pt_sample.wav +0 -0
- samples/tr_sample.wav +0 -0
- samples/zh-cn-sample.wav +0 -0
- speakers_xtts.pth +3 -0
- vocab.json +0 -0
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,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 17 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 17 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), Korean (ko)
|
34 |
+
Hindi (hi)**.
|
35 |
+
|
36 |
+
Stay tuned as we continue to add support for more languages. If you have any language requests, feel free to reach out!
|
37 |
+
|
38 |
+
### Code
|
39 |
+
The [code-base](https://github.com/coqui-ai/TTS) supports inference and [fine-tuning](https://tts.readthedocs.io/en/latest/models/xtts.html#training).
|
40 |
+
|
41 |
+
### Demo Spaces
|
42 |
+
- [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
|
43 |
+
- [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
|
44 |
+
|
45 |
+
| | |
|
46 |
+
| ------------------------------- | --------------------------------------- |
|
47 |
+
| 🐸💬 **CoquiTTS** | [coqui/TTS on Github](https://github.com/coqui-ai/TTS)|
|
48 |
+
| 💼 **Documentation** | [ReadTheDocs](https://tts.readthedocs.io/en/latest/)
|
49 |
+
| 👩💻 **Questions** | [GitHub Discussions](https://github.com/coqui-ai/TTS/discussions) |
|
50 |
+
| 🗯 **Community** | [Discord](https://discord.gg/5eXr5seRrv) |
|
51 |
+
|
52 |
+
|
53 |
+
### License
|
54 |
+
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).
|
55 |
+
|
56 |
+
### Contact
|
57 |
+
Come and join in our 🐸Community. We're active on [Discord](https://discord.gg/fBC58unbKE) and [Twitter](https://twitter.com/coqui_ai).
|
58 |
+
You can also mail us at [email protected].
|
59 |
+
|
60 |
+
Using 🐸TTS API:
|
61 |
+
|
62 |
+
```python
|
63 |
+
from TTS.api import TTS
|
64 |
+
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2", gpu=True)
|
65 |
+
|
66 |
+
# generate speech by cloning a voice using default settings
|
67 |
+
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.",
|
68 |
+
file_path="output.wav",
|
69 |
+
speaker_wav="/path/to/target/speaker.wav",
|
70 |
+
language="en")
|
71 |
+
|
72 |
+
```
|
73 |
+
|
74 |
+
Using 🐸TTS Command line:
|
75 |
+
|
76 |
+
```console
|
77 |
+
tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 \
|
78 |
+
--text "Bugün okula gitmek istemiyorum." \
|
79 |
+
--speaker_wav /path/to/target/speaker.wav \
|
80 |
+
--language_idx tr \
|
81 |
+
--use_cuda true
|
82 |
+
```
|
83 |
+
|
84 |
+
Using the model directly:
|
85 |
+
|
86 |
+
```python
|
87 |
+
from TTS.tts.configs.xtts_config import XttsConfig
|
88 |
+
from TTS.tts.models.xtts import Xtts
|
89 |
+
|
90 |
+
config = XttsConfig()
|
91 |
+
config.load_json("/path/to/xtts/config.json")
|
92 |
+
model = Xtts.init_from_config(config)
|
93 |
+
model.load_checkpoint(config, checkpoint_dir="/path/to/xtts/", eval=True)
|
94 |
+
model.cuda()
|
95 |
+
|
96 |
+
outputs = model.synthesize(
|
97 |
+
"It took me quite a long time to develop a voice and now that I have it I am not going to be silent.",
|
98 |
+
config,
|
99 |
+
speaker_wav="/data/TTS-public/_refclips/3.wav",
|
100 |
+
gpt_cond_len=3,
|
101 |
+
language="en",
|
102 |
+
)
|
103 |
+
```
|
config.json
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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": 6681,
|
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 |
+
"input_sample_rate": 22050,
|
122 |
+
"output_sample_rate": 24000,
|
123 |
+
"output_hop_length": 256,
|
124 |
+
"decoder_input_dim": 1024,
|
125 |
+
"d_vector_dim": 512,
|
126 |
+
"cond_d_vector_in_each_upsampling_layer": true,
|
127 |
+
"duration_const": 102400
|
128 |
+
},
|
129 |
+
"model_dir": null,
|
130 |
+
"languages": [
|
131 |
+
"en",
|
132 |
+
"es",
|
133 |
+
"fr",
|
134 |
+
"de",
|
135 |
+
"it",
|
136 |
+
"pt",
|
137 |
+
"pl",
|
138 |
+
"tr",
|
139 |
+
"ru",
|
140 |
+
"nl",
|
141 |
+
"cs",
|
142 |
+
"ar",
|
143 |
+
"zh-cn",
|
144 |
+
"hu",
|
145 |
+
"ko",
|
146 |
+
"ja",
|
147 |
+
"hi"
|
148 |
+
],
|
149 |
+
"temperature": 0.75,
|
150 |
+
"length_penalty": 1.0,
|
151 |
+
"repetition_penalty": 5.0,
|
152 |
+
"top_k": 50,
|
153 |
+
"top_p": 0.85,
|
154 |
+
"num_gpt_outputs": 1,
|
155 |
+
"gpt_cond_len": 30,
|
156 |
+
"gpt_cond_chunk_len": 4,
|
157 |
+
"max_ref_len": 30,
|
158 |
+
"sound_norm_refs": false
|
159 |
+
}
|
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 |
+
10f92b55c512af7a8d39d650547a15a7
|
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:c7ea20001c6a0a841c77e252d8409f6a74fb423e79b3206a0771ba5989776187
|
3 |
+
size 1867929118
|
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
|
|
speakers_xtts.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f0f6137c19a4eab0cbbe4c99b5babacf68b1746e50da90807708c10e645b943b
|
3 |
+
size 7754818
|
vocab.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|