🚀 乌尔都语文本转语音模型
本项目是一个乌尔都语文本转语音(TTS)模型,支持乌尔都语语音克隆,可将乌尔都语文本转换为自然流畅的语音。
🚀 快速开始
安装指南
- 使用
pip
安装 coqui-tts
:
pip install coqui-tts
- 定位到你
site-packages
目录下的 TTS/tts/layers/xtts/tokenizers.py
文件。
- 用本仓库中的
tokenizers.py
文件替换上述文件。
- 完成以上步骤后,即可开始使用!
使用示例
源语音示例
你可以点击下面的播放器收听源语音:
生成语音示例
点击下面的播放器收听生成的语音:
推理代码
以下是使用该模型进行推理的代码示例:
import torch
import torchaudio
from tqdm import tqdm
from underthesea import sent_tokenize
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts
device = "cuda:0" if torch.cuda.is_available() else "cpu"
xtts_checkpoint = "model.pth"
xtts_config = "config.json"
xtts_vocab = "vocab.json"
config = XttsConfig()
config.load_json(xtts_config)
XTTS_MODEL = Xtts.init_from_config(config)
XTTS_MODEL.load_checkpoint(config, checkpoint_path=xtts_checkpoint, vocab_path=xtts_vocab, use_deepspeed=False)
XTTS_MODEL.to(device)
print("Model loaded successfully!")
from pydub import AudioSegment
audio = AudioSegment.from_file("input-4.ogg", format="ogg")
audio.export("output.wav", format="wav")
print("Conversion complete!")
tts_text = f"""یہ ٹی ٹی ایس کیسا ہے؟ اس کے بارے میں کچھ بتائیں"""
speaker_audio_file = "output.wav"
lang = "ur"
gpt_cond_latent, speaker_embedding = XTTS_MODEL.get_conditioning_latents(
audio_path=["output.wav"],
gpt_cond_len=XTTS_MODEL.config.gpt_cond_len,
max_ref_length=XTTS_MODEL.config.max_ref_len,
sound_norm_refs=XTTS_MODEL.config.sound_norm_refs,
)
tts_texts = [tts_text]
wav_chunks = []
for text in tqdm(tts_texts):
wav_chunk = XTTS_MODEL.inference(
text=text,
language=lang,
gpt_cond_latent=gpt_cond_latent,
speaker_embedding=speaker_embedding,
temperature=0.1,
length_penalty=0.1,
repetition_penalty=10.0,
top_k=10,
top_p=0.3,
)
wav_chunks.append(torch.tensor(wav_chunk["wav"]))
out_wav = torch.cat(wav_chunks, dim=0).unsqueeze(0).cpu()
from IPython.display import Audio
Audio(out_wav, rate=24000)
重要提示
⚠️ 重要提示
该模型在处理非常长的输入时可能表现不佳。你可以根据自己的需求编写文本分割器,将较长的输入分割成较短的句子。
📄 许可证
本项目采用 MIT 许可证。