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
Safetensors
Model size
0.6B params
Tensor type
I64
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for shyngys879/KazakhTTS-OmniVoice

Finetuned
Qwen/Qwen3-0.6B
Finetuned
k2-fsa/OmniVoice
Finetuned
(45)
this model

Dataset used to train shyngys879/KazakhTTS-OmniVoice

Space using shyngys879/KazakhTTS-OmniVoice 1