CoolFace
Datasetpublic

outlawmold/sinhala-tts-dataset

Sinhala TTS Dataset Clean, segmented single-speaker Sinhala speech from the "Unlimited History" YouTube series by @sunchare. Built for TTS fine-tuning (F5-TTS, VITS, etc.). Dataset Versions cc_v1 — Full dataset (63 videos) Metric Value Utterances 22,441 Train / Val 21,319 / 1,122 Hours 23.23h Mean duration 3.73s Duration range 3.0s – 19.74s Sample rate 22,050 Hz Videos processed 63 Avg keep rate 84.4%… See the full description on the dataset page: https://huggingface.co/datasets/outlawmold/sinhala-tts-dataset.

sourceHugging Facecc-by-4.0updated 5mo agoView on Hugging Face
0likes350downloads
Dataset Card

Sinhala TTS Dataset

Clean, segmented single-speaker Sinhala speech from the "Unlimited History" YouTube series by @sunchare. Built for TTS fine-tuning (F5-TTS, VITS, etc.).

Dataset Versions

cc_v1 — Full dataset (63 videos)

MetricValue
Utterances22,441
Train / Val21,319 / 1,122
Hours23.23h
Mean duration3.73s
Duration range3.0s – 19.74s
Sample rate22,050 Hz
Videos processed63
Avg keep rate84.4%

cc_v1_tenvideo_baseline — 10-video baseline

MetricValue
Utterances3,772
Train / Val3,584 / 188
Hours3.91h
Mean duration3.73s
Duration range3.0s – 19.74s
Sample rate22,050 Hz

Pipeline

YouTube auto-CC (Sinhala) → text alignment → audio segmentation
→ quality filtering (duration, repetition, char-rate) → 22050Hz mono WAV

Source: YouTube auto-generated closed captions for Sinhala content. Each video is processed independently, then merged into the combined datasets.

Format

LJSpeech-style:

  • —wavs/*.wav — 22050 Hz, 16-bit, mono
  • —metadata.csv — filename|text|normalized_text (pipe-delimited, no header)

Audio files are organized in numbered subdirectories (wavs/00/, wavs/01/, etc.) for the full cc_v1 set, and flat wavs/ for the 10-video baseline.

Per-Video Raw Data

Each of the 10 baseline videos also has its raw (unsegmented) processing output under videos/<video_id>/, including:

  • —Original long-form utterances before CC segmentation
  • —manifest_kept.json / rejected_utterances.json — full filtering logs
  • —run_info.json — processing metadata

Usage

python
import pandas as pd

# Load 10-video baseline
df = pd.read_csv(
    "hf://datasets/outlawmold/sinhala-tts-dataset/cc_v1_tenvideo_baseline/metadata_train.csv",
    sep="|", header=None, names=["id", "text", "normalized"]
)
print(f"Training utterances: {len(df)}")

Roadmap

  • —[x] 10-video CC baseline (3.91h)
  • —[x] Full 63-video CC pipeline (23.23h)
  • —[ ] Next 10 videos batch processing
  • —[ ] TTS model fine-tuning (F5-TTS)

License

CC-BY-4.0. Source audio from YouTube; transcripts are auto-generated captions.

outlawmold/sinhala-tts-dataset · CoolFace