Speech tech for a zero-dataset language: what actually consumed the time
servinosmanov
• Text-to-Speech model for Crimean Tatar (Qırımtatar tili) language based on XTTS v2 architecture.
pip install TTS
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts
import torch
# Load model
config = XttsConfig()
config.load_json("config.json")
model = Xtts.init_from_config(config)
model.load_checkpoint(
config,
checkpoint_path="model.pth",
vocab_path="vocab.json",
use_deepspeed=False,
)
model.cuda()
model.eval()
# Generate speech
# Text should be in Cyrillic script
text = "Селям алейкум! Бу къырымтатар тилинде сёйлеген модель."
gpt_cond_latent, speaker_embedding = model.get_conditioning_latents(
audio_path="reference.wav"
)
out = model.inference(
text=text,
language="ru", # Use "ru" for Cyrillic text
gpt_cond_latent=gpt_cond_latent,
speaker_embedding=speaker_embedding,
)
# Save audio
import torchaudio
wav = torch.tensor(out["wav"]).unsqueeze(0)
torchaudio.save("output.wav", wav, 24000)
The model expects text in Cyrillic script. If your text is in Latin script, convert it first:
| Latin | Cyrillic |
|---|---|
| a | а |
| ğ | гъ |
| q | къ |
| ñ | нъ |
| j | ж |
| ş | ш |
| ç | ч |
@misc{xtts-crh-sevil-v1,
author = {Servin Osmanov},
title = {XTTS Crimean Tatar - Sevil Voice},
year = {2026},
publisher = {Hugging Face},
url = {https://huggingface.co/servinosmanov/xtts-crh-sevil-v1}
}
Apache 2.0