Views
No views yet
1import os
2import torch
3import torchaudio
4from TTS.tts.configs.xtts_config import XttsConfig
5from TTS.tts.models.xtts import Xtts
6
7# Add here the xtts_config path
8CONFIG_PATH = "config.json"
9# Add here the vocab file that you have used to train the model
10TOKENIZER_PATH = "vocab.json"
11# Add here the checkpoint that you want to do inference with
12XTTS_CHECKPOINT = "best_model_19375.pth"
13# Add here the speaker reference
14SPEAKER_REFERENCE = "ron_v.wav"
15
16# output wav path
17OUTPUT_WAV_PATH = "xtts-ft2.wav"
18
19print("Loading model...")
20config = XttsConfig()
21config.load_json(CONFIG_PATH)
22model = Xtts.init_from_config(config)
23model.load_checkpoint(config, checkpoint_path=XTTS_CHECKPOINT, vocab_path=TOKENIZER_PATH, use_deepspeed=False)
24model.cuda()
25
26print("Computing speaker latents...")
27gpt_cond_latent, speaker_embedding = model.get_conditioning_latents(audio_path=[SPEAKER_REFERENCE])
28
29
30text = "البارح جعدت مع خوي وجال لي: وينك مختفي هاليومين؟ قلت له والله يا رجال كنت مشغول شوي، عندي شغل واجد وارتباطات ما تخلص. بعدها جال خلنا نتجابل بالمجلس ونسولف عن كل شي صار، من سالفة المشروع الجديد لين موضوع السفر اللي كنا متفجين عليه من زمان. قلت له فكره زينه، خصوصًا إن لي فتره ما شفت العيال ولا جعدنا جعده طويله مثل أول."
31
32
33print("Inference...")
34out = model.inference(
35 text,
36 "ar",
37 gpt_cond_latent,
38 speaker_embedding,
39 temperature=0.7, # Add custom parameters hereو
40 enable_text_splitting = True
41)
42torchaudio.save(OUTPUT_WAV_PATH, torch.tensor(out["wav"]).unsqueeze(0), 24000)
43