KazakhTTS-OmniVoice
KazakhTTS-OmniVoice is a Kazakh text-to-speech model fine-tuned from k2-fsa/OmniVoice.
The model is designed for natural Kazakh speech synthesis and supports controllable voice attributes through OmniVoice's voice design interface, including gender, age-style prompts, and pitch-style prompts.
This checkpoint was fine-tuned specifically for the Kazakh language using a mixture of real Kazakh TTS data and synthetic controlled voice-design data.
Training Data
KazakhTTS-OmniVoice was fine-tuned using a mixture of real Kazakh speech data and synthetic controlled voice-design data.
The main real speech component comes from ISSAI_KazakhTTS2, a Kazakh text-to-speech dataset used to improve pronunciation, rhythm, and naturalness for Kazakh speech synthesis.
The synthetic component was generated to improve controllability for speaker attributes such as gender, age-style prompts, and pitch-style prompts.
Approximate fine-tuning mixture:
- 56% real KazakhTTS2 data
- 44% synthetic controlled data
Synthetic controlled dataset:
- 10,800 generated Kazakh samples
- 18 control categories
- 600 samples per category
- Synthetic repeat during training: 13
The synthetic data was generated using a small number of stable reference voices per category, with many Kazakh target texts per voice. This was done to reduce speaker memorization while preserving consistent control behavior.
The original KazakhTTS2 dataset is not included in this repository. This repository only contains the fine-tuned model checkpoint and example audio generated by the model.
Audio Examples
Female teenager
Text:
Мен қазақша дауыс моделін тексеріп жатырмын.
Female elderly, auto pitch
Text:
Қайырлы күн! Бүгін біз қазақ тіліндегі мәтінді дыбыстау сапасын тексеріп жатырмыз.
Female middle-aged
Text:
Сәлеметсіз бе! Сіздің өтінішіңіз қабылданды. Біздің маман сізге жақын арада хабарласады.
Male child
Text:
Сәлем! Мен қазақша сөйлей аламын.
Male middle-aged
Text:
Қазақстанда жасанды интеллект пен сөйлеу технологиялары қарқынды дамып келеді.
Female low pitch
Text:
Бұл қазақша мәтінді дыбыстау мысалы.
Female high pitch
Text:
Бұл қазақша мәтінді дыбыстау мысалы.
Male low pitch
Text:
Бұл қазақша мәтінді дыбыстау мысалы.
Male high pitch
Text:
Бұл қазақша мәтінді дыбыстау мысалы.
Usage
This model is an OmniVoice checkpoint and should be used with the omnivoice Python library.
Install dependencies:
pip install omnivoice soundfile torch
Python API
from omnivoice import OmniVoice
import soundfile as sf
import torch
model = OmniVoice.from_pretrained(
"shyngys879/KazakhTTS-OmniVoice",
device_map="cuda:0",
dtype=torch.float16,
)
text = "Бүгін біз жаңа қазақша дауыс моделін тексеріп жатырмыз. Дауыс табиғи, анық және түсінікті болуы керек."
audio = model.generate(
text=text,
language="Kazakh",
)
sf.write("kazakh_tts_output.wav", audio[0], 24000)
Voice Cloning Example
from omnivoice import OmniVoice
import soundfile as sf
import torch
model = OmniVoice.from_pretrained(
"shyngys879/KazakhTTS-OmniVoice",
device_map="cuda:0",
dtype=torch.float16,
)
audio = model.generate(
text="Бүгін біз қазақша дауыс синтезін тексеріп жатырмыз.",
language="Kazakh",
ref_audio="reference.wav",
ref_text="Бұл reference аудиода айтылған мәтін.",
)
sf.write("kazakh_cloned_voice.wav", audio[0], 24000)
Download Locally
from huggingface_hub import snapshot_download
model_dir = snapshot_download(
repo_id="shyngys879/KazakhTTS-OmniVoice",
local_dir="KazakhTTS-OmniVoice",
)
print(model_dir)
Then load from the local folder:
from omnivoice import OmniVoice
import soundfile as sf
import torch
model = OmniVoice.from_pretrained(
"KazakhTTS-OmniVoice",
device_map="cuda:0",
dtype=torch.float16,
)
audio = model.generate(
text="Сәлем! Бұл қазақша мәтінді дыбыстау мысалы.",
language="Kazakh",
)
sf.write("out.wav", audio[0], 24000)
Control Categories
The model was trained with the following controllable voice attributes:
Gender
- Male
- Female
Age-style prompts
- Child
- Teenager
- Young Adult
- Middle-aged
- Elderly
Pitch-style prompts
- Low Pitch
- Moderate Pitch
- High Pitch
- Downloads last month
- 3,276