🚀 烏爾都語文本轉語音模型
本項目是一個烏爾都語文本轉語音(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 許可證。