Text-to-Speech
coqui
File size: 4,632 Bytes
d05c684
 
 
5810ab1
d05c684
 
682d921
345b56f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d05c684
 
5810ab1
 
34b8db7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d05c684
 
5810ab1
 
d05c684
682d921
 
d05c684
5810ab1
d05c684
5810ab1
d05c684
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5810ab1
d05c684
 
 
5810ab1
 
 
d05c684
 
 
 
5810ab1
d05c684
 
5810ab1
d05c684
 
 
 
 
5810ab1
 
 
 
 
 
 
 
 
d05c684
 
 
 
 
 
5810ab1
 
 
 
 
d05c684
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
---
license: other
license_name: coqui-public-model-license
license_link: https://tts-hub.github.io/cpml
library_name: coqui
pipeline_tag: text-to-speech
base_model: coqui/XTTS-v2
language:
- multilingual
- en
- es
- fr
- de
- it
- pt
- pl
- tr
- ru
- nl
- cs
- ar
- zh
- hu
- ko
- ja
- hi
widget:
  - text: "Once when I was six years old I saw a magnificent picture"
    output:
      url: samples/en_sample.wav
  - text: "Als ich sechs war, sah ich einmal ein wunderbares Bild"
    output:
      url: samples/de_sample.wav
  - text: "Cuando tenía seis años, vi una vez una imagen magnífica"
    output:
      url: samples/es_sample.wav
  - text: "Lorsque j'avais six ans j'ai vu, une fois, une magnifique image"
    output:
      url: samples/fr_sample.wav
  - text: "かつて 六歳のとき、素晴らしい絵を見ました"
    output:
      url: samples/ja-sample.wav
  - text: "Bir zamanlar, altı yaşındayken, muhteşem bir resim gördüm"
    output:
      url: samples/tr_sample.wav
  - text: "当我还只有六岁的时候, 看到了一副精彩的插画"
    output:
      url: samples/zh-cn-sample.wav
  - text: "Quando eu tinha seis anos eu vi, uma vez, uma imagem magnífica"
    output:
      url: samples/pt_sample.wav
---

# XTTS
XTTS 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.

Paper: https://arxiv.org/abs/2406.04904

### Features
- Supports 17 languages.
- Voice cloning with just a 6-second audio clip.
- Emotion and style transfer by cloning.
- Cross-language voice cloning.
- Multi-lingual speech generation.
- 24khz sampling rate.

### Updates over XTTS-v1
- 2 new languages; Hungarian and Korean
- Architectural improvements for speaker conditioning.
- Enables the use of multiple speaker references and interpolation between speakers.
- Stability improvements.
- Better prosody and audio quality across the board.

### Languages
XTTS-v2 supports 17 languages: **English (en), Spanish (es), French (fr), German (de), Italian (it), Portuguese (pt),
Polish (pl), Turkish (tr), Russian (ru), Dutch (nl), Czech (cs), Arabic (ar), Chinese (zh-cn), Japanese (ja), Hungarian (hu), Korean (ko)
Hindi (hi)**.

### Code
The [code-base](https://github.com/idiap/coqui-ai-TTS) supports inference and [fine-tuning](https://coqui-tts.readthedocs.io/en/latest/models/xtts.html#training).

|                                 |                                         |
| ------------------------------- | --------------------------------------- |
| 🐸💬 **CoquiTTS**               | [GitHub](https://github.com/idiap/coqui-ai-TTS)|
| 💼 **Documentation**            | [ReadTheDocs](https://coqui-tts.readthedocs.io)
| 👩‍💻 **Questions**                | [GitHub Discussions](https://github.com/idiap/coqui-ai-TTS/discussions) |
| 🗯 **Community**         | [Discord](https://discord.gg/5eXr5seRrv)  |


### License
This model is licensed under [Coqui Public Model License](https://tts-hub.github.io/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://web.archive.org/web/20240217095217/https://coqui.ai/blog/tts/cpml).

### Contact
Come and join in our 🐸Community, we're active on [Discord](https://discord.gg/fBC58unbKE).

Using 🐸TTS API:

```python
from TTS.api import TTS
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to("cuda")

# Generate speech by cloning a voice using default settings
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.",
  file_path="output.wav",
  speaker_wav="/path/to/target/speaker.wav",
  language="en"
)

```

Using 🐸TTS Command line:

```console
tts --model_name tts_models/multilingual/multi-dataset/xtts_v2 \
    --text "Bugün okula gitmek istemiyorum." \
    --speaker_wav /path/to/target/speaker.wav \
    --language_idx tr \
    --use_cuda true
```

Using the model directly:

```python
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts

config = XttsConfig()
config.load_json("/path/to/xtts/config.json")
model = Xtts.init_from_config(config)
model.load_checkpoint(config, checkpoint_dir="/path/to/xtts/", eval=True)
model.cuda()

outputs = model.synthesize(
    "It took me quite a long time to develop a voice and now that I have it I am not going to be silent.",
    config,
    speaker_wav="/data/TTS-public/_refclips/3.wav",
    gpt_cond_len=3,
    language="en",
)
```