CoolFace
Modelpublic

shyngys879/KazakhTTS-OmniVoice

sourceHugging Faceupdated 1mo agoView on Hugging Face
3likes1.8kdownloads
Model Card

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: Мен қазақша дауыс моделін тексеріп жатырмын.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/female_teenager.wav"></audio>

Female elderly, auto pitch

Text: Қайырлы күн! Бүгін біз қазақ тіліндегі мәтінді дыбыстау сапасын тексеріп жатырмыз.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/female_elderly.wav"></audio>

Female middle-aged

Text: Сәлеметсіз бе! Сіздің өтінішіңіз қабылданды. Біздің маман сізге жақын арада хабарласады.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/femalemiddleaged.wav"></audio>

Male child

Text: Сәлем! Мен қазақша сөйлей аламын.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/male_child.wav"></audio>

Male middle-aged

Text: Қазақстанда жасанды интеллект пен сөйлеу технологиялары қарқынды дамып келеді.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/malemiddleaged.wav"></audio>

Female low pitch

Text: Бұл қазақша мәтінді дыбыстау мысалы.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/femalelowpitch.wav"></audio>

Female high pitch

Text: Бұл қазақша мәтінді дыбыстау мысалы.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/femalehighpitch.wav"></audio>

Male low pitch

Text: Бұл қазақша мәтінді дыбыстау мысалы.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/malelowpitch.wav"></audio>

Male high pitch

Text: Бұл қазақша мәтінді дыбыстау мысалы.

<audio controls src="https://huggingface.co/shyngys879/KazakhTTS-OmniVoice/resolve/main/examples/malehighpitch.wav"></audio>

Usage

This model is an OmniVoice checkpoint and should be used with the omnivoice Python library.

Install dependencies:

bash
pip install omnivoice soundfile torch

Python API

python
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

python
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

python
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:

python
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

Contact and Model Use

For commercial deployment, research collaboration on your organization's data, please contact:

Shyngys Sovetkhan Email: shyngyssovetkhan0@gmail.com

If your company or organization uses this model, has evaluated it, or has found it useful, I would greatly appreciate a brief official confirmation letter describing the use case or evaluation results. Such documentation helps demonstrate the model's real-world impact in my university applications. The letter can be sent to the email address above.