Views
No views yet
pip install git+https://github.com/huggingface/parler-tts.git1import torch
2from parler_tts import ParlerTTSForConditionalGeneration
3from transformers import AutoTokenizer
4import soundfile as sf
5
6device = "cuda:0" if torch.cuda.is_available() else "cpu"
7
8model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-multilingual-v1.1").to(device)
9tokenizer = AutoTokenizer.from_pretrained("parler-tts/parler-tts-mini-multilingual-v1.1")
10description_tokenizer = AutoTokenizer.from_pretrained(model.config.text_encoder._name_or_path)
11
12prompt = "Salut toi, comment vas-tu aujourd'hui?"
13description = "A female speaker delivers a slightly expressive and animated speech with a moderate speed and pitch. The recording is of very high quality, with the speaker's voice sounding clear and very close up."
14
15input_ids = description_tokenizer(description, return_tensors="pt").input_ids.to(device)
16prompt_input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
17
18generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
19audio_arr = generation.cpu().numpy().squeeze()
20sf.write("parler_tts_out.wav", audio_arr, model.config.sampling_rate)Daniel's voice is monotone yet slightly fast in delivery, with a very close recording that almost has no background noise.1import torch
2from parler_tts import ParlerTTSForConditionalGeneration
3from transformers import AutoTokenizer
4import soundfile as sf
5
6device = "cuda:0" if torch.cuda.is_available() else "cpu"
7
8model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-multilingual-v1.1").to(device)
9tokenizer = AutoTokenizer.from_pretrained("parler-tts/parler-tts-mini-multilingual-v1.1")
10description_tokenizer = AutoTokenizer.from_pretrained(model.config.text_encoder._name_or_path)
11
12prompt = "Salut toi, comment vas-tu aujourd'hui?"
13description = "Daniel's voice is monotone yet slightly fast in delivery, with a very close recording that almost has no background noise."
14
15input_ids = description_tokenizer(description, return_tensors="pt").input_ids.to(device)
16prompt_input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
17
18generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
19audio_arr = generation.cpu().numpy().squeeze()
20sf.write("parler_tts_out.wav", audio_arr, model.config.sampling_rate)| Language | Speaker Name | Number of occurrences it was trained on |
|---|---|---|
| Dutch | Mark | 460066 |
| Jessica | 4438 | |
| Michelle | 83 | |
| French | Daniel | 10719 |
| Michelle | 19 | |
| Christine | 20187 | |
| Megan | 695 | |
| German | Nicole | 53964 |
| Christopher | 1671 | |
| Megan | 41 | |
| Michelle | 12693 | |
| Italian | Julia | 2616 |
| Richard | 9640 | |
| Megan | 4 | |
| Polish | Alex | 25849 |
| Natalie | 9384 | |
| Portuguese | Sophia | 34182 |
| Nicholas | 4411 | |
| Spanish | Steven | 74099 |
| Olivia | 48489 | |
| Megan | 12 |
@misc{lacombe-etal-2024-parler-tts,
author = {Yoach Lacombe and Vaibhav Srivastav and Sanchit Gandhi},
title = {Parler-TTS},
year = {2024},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/huggingface/parler-tts}}
}@misc{lyth2024natural,
title={Natural language guidance of high-fidelity text-to-speech with synthetic annotations},
author={Dan Lyth and Simon King},
year={2024},
eprint={2402.01912},
archivePrefix={arXiv},
primaryClass={cs.SD}
}