CoolFace
Datasetpublic

ghananlpcommunity/twi-tts-asr

Ghana Twi Speech Dataset (TTS + ASR) 79,655 synthetic Twi speech samples (88.8 hours) generated with OmniVoice. Designed for both text-to-speech (TTS) and automatic speech recognition (ASR) research on Twi. Intended use TTS / Voice cloning: Use the audio + text pairs directly. The dataset includes diverse voice profiles for building or fine-tuning Twi TTS systems. ASR: Use the text transcripts as labels. The audio is natively at 24 kHz — resample to 16 kHz for… See the full description on the dataset page: https://huggingface.co/datasets/ghananlpcommunity/twi-tts-asr.

sourceHugging Facecc-by-nc-4.0updated 2mo agoView on Hugging Face
0likes449downloads
Dataset Card

Ghana Twi Speech Dataset (TTS + ASR)

79,655 synthetic Twi speech samples (88.8 hours) generated with OmniVoice. Designed for both text-to-speech (TTS) and automatic speech recognition (ASR) research on Twi.

Intended use

  • —TTS / Voice cloning: Use the audio + text pairs directly. The dataset includes diverse voice profiles for building or fine-tuning Twi TTS systems.
  • —ASR: Use the text transcripts as labels. The audio is natively at 24 kHz — resample to 16 kHz for standard ASR pipelines.

Statistics

MetricValue
Total samples79,655
Total duration88.78 hours (319,599 seconds)
Sample rate24 kHz (native)
LanguageTwi
Unique reference speakers3158
TTS modelk2-fsa/OmniVoice

Columns

ColumnTypeDescription
idstringUnique sample ID (zero-padded)
audioAudio24 kHz mono WAV audio
textstringTwi transcription
durationfloatDuration in seconds
ref_speakerstringReference speaker ID used for voice cloning

Data generation

  • —Texts: Sampled from ghananlpcommunity/pristine-twi-english-parallel-sentences (Twi column)
  • —Voices: Voice-cloned from 3158 reference speakers across 4 Twi speech corpora (JW, Bible, UNICEF, Finance)
  • —Method: OmniVoice diffusion TTS with random reference audio selection per sample
  • —Seed: 42 (for reproducibility)

Loading

python
from datasets import load_dataset

ds = load_dataset("ghananlpcommunity/twi-tts-asr", split="train")
sample = ds[0]
print(sample["text"])         # Twi transcript
print(sample["duration"])     # seconds
print(sample["ref_speaker"])  # which voice was cloned
# -> plays audio

Resampling to 16 kHz for ASR

python
import torchaudio

def resample_16k(example):
    wav = example["audio"]["array"]
    sr = example["audio"]["sampling_rate"]
    if sr != 16000:
        wav = torchaudio.functional.resample(wav, sr, 16000)
    example["audio_16k"] = wav
    return example

ds_16k = ds.map(resample_16k)