Pashto Ghag TTS | پښتو غږ

Pashto Ghag TTS is an open-source multi-speaker Pashto text-to-speech model built from a curated 44.15-hour Pashto speech set covering 11 speakers.

This release is based on a YourTTS / VITS-style architecture and is intended as a strong public Pashto TTS baseline that can:

  • synthesize Pashto from text
  • generate speech in one of the included speaker identities
  • serve as a better starting point for later single-speaker adaptation

This is not a final “one person only” voice model. It is a multi-speaker support model designed to improve Pashto pronunciation, coverage, and general TTS quality before a later speaker-specific adaptation stage.

Model Summary

  • Architecture: YourTTS-style VITS
  • Language: Pashto (ps)
  • Output sample rate: 22050 Hz
  • Speakers: 11
  • Best public checkpoint source: best_model_192014
    In this repo it is published as best_model.pth
  • Training stop condition: early stopping after no meaningful eval-loss improvement

The name Pashto Ghag means Pashto Voice. It matches the STT release branding while keeping the project culturally grounded and recognizable.

What Was Trained

This model was trained on a curated Pashto multi-speaker dataset built from:

  • one personal Pashto speaker set
  • ten carefully selected Common Voice Pashto speakers

The goal was to create a stronger Pashto TTS base that learns from multiple speakers without collapsing into a single voice identity.

In concrete terms, the work behind this release was:

  1. build a curated Pashto multi-speaker dataset
  2. clean transcript text and remove unsupported-character issues
  3. train a multi-speaker YourTTS support model
  4. restart safely from the best stable checkpoint after an unstable run
  5. stop by early stopping and publish the best clean checkpoint

Training Data

Dataset scale:

Split Samples Hours Speakers
train 49,977 42.463 11
eval 984 0.825 11
test 1,010 0.859 11
total 51,971 44.148 11

Dataset audit highlights:

  • missing audio: 0
  • duplicate rows: 0
  • speaker overlap across splits: expected and allowed for this support-base design

Audio and text preparation highlights:

  • grapheme-based Pashto text cleaner
  • 22050 Hz audio
  • clip duration roughly 1.5s to 8.0s
  • silence trimming and clip-quality filtering
  • weighted sampling by speaker

Best Checkpoint

The best model from the stable restart was:

  • best_model_192014

The training run then continued until early stopping and wrote a later final checkpoint, but the best public release is the earlier best model snapshot.

Run summary:

  • best eval loss: 18.139206204334467
  • total steps completed in the stable run: 229,178
  • epochs completed: 73

Evaluation Notes

Unlike ASR, TTS does not have a single universally meaningful public metric like WER. The most important signals here are:

  • stable finite training
  • improving eval loss
  • actual listening quality

This release finished cleanly without nan instability and produced working synthesis outputs across all 11 speakers.

Included Files

This repo includes the inference artifacts needed for practical local use:

  • best_model.pth
  • config.json
  • speakers.pth
  • model_se.pth
  • config_se.json
  • KNOWN_SPEAKERS.json
  • hf_infer_pashto_ghag_yourtts.py
  • README.md
  • USAGE.md

Known Speakers

This is a multi-speaker model. The repo includes a friendly speaker map in:

  • KNOWN_SPEAKERS.json

Use these labels instead of the original raw speaker IDs. For example:

  • speaker_01_nasim_bahar
  • speaker_02_cv_c647e403f395
  • speaker_03_cv_c90278821a23

Intended Use

This model is intended for:

  • Pashto TTS research
  • Pashto voice demos
  • building downstream Pashto voice products
  • fine-tuning or adapting toward a specific target speaker

Limitations

  • This is a multi-speaker support model, not a final single-speaker personal-voice model.
  • Best quality still needs listening-based evaluation, not just loss inspection.
  • Speaker identity quality depends on whether you use a built-in speaker ID or a reference audio clip.
  • This model was trained on curated but still mixed-source speech, so it is not equivalent to a full studio-grade single-speaker corpus.

Quick Start

The simplest path is to:

  1. download the repo with huggingface_hub
  2. use the bundled helper script

Example:

from huggingface_hub import snapshot_download
from pathlib import Path
import subprocess
import sys

model_dir = Path(snapshot_download("Nasimbahar/pashto-ghag-yourtts"))

subprocess.run(
    [
        sys.executable,
        str(model_dir / "hf_infer_pashto_ghag_yourtts.py"),
        "--model-dir",
        str(model_dir),
        "--text",
        "سلامونه، دا د پښتو غږ د ماډل ازموينه ده۔",
        "--speaker-id",
        "speaker_01_nasim_bahar",
        "--output-wav",
        "pashto_ghag_demo.wav",
    ],
    check=True,
)

For detailed usage, including speaker_wav cloning and direct Python examples, see USAGE.md.

Acknowledgements

  • Coqui TTS / YourTTS ecosystem
  • Mozilla Common Voice
  • the Pashto recordings and curation work that made the dataset possible

Project Direction

This release is a strong Pashto multi-speaker support base. The next natural step after this model is:

  • adapt from this checkpoint to a single target speaker

That is the recommended route if the goal is a final personalized Pashto voice.

Downloads last month
29
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train Nasimbahar/pashto-ghag-yourtts

Spaces using Nasimbahar/pashto-ghag-yourtts 2