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.
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
Columns
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
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 audioResampling to 16 kHz for ASR
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)