Professor/kinyarwanda-speech-data
Kinyarwanda Speech Data (Pooled) A ~989.9-hour pooled Kinyarwanda speech corpus, combining two independently-sourced datasets into one consistently-formatted corpus for speech modeling (TTS / ASR). Part of the AfroNet multi-language TTS data effort — sibling release to the Yoruba/Hausa/Igbo pools, but sourced entirely differently: DSN African Voices, NaijaVoices, and WAXAL (the sources behind the other three languages) don't cover Kinyarwanda at all. Sources… See the full description on the dataset page: https://huggingface.co/datasets/Professor/kinyarwanda-speech-data.
Kinyarwanda Speech Data (Pooled)
A ~989.9-hour pooled Kinyarwanda speech corpus, combining two independently-sourced datasets into one consistently-formatted corpus for speech modeling (TTS / ASR). Part of the AfroNet multi-language TTS data effort — sibling release to the Yoruba/Hausa/Igbo pools, but sourced entirely differently: DSN African Voices, NaijaVoices, and WAXAL (the sources behind the other three languages) don't cover Kinyarwanda at all.
Sources
All audio is standardized to 16 kHz mono FLAC (lossless). Clips are 1–30 seconds; empty/garbage transcripts, near-silent clips, and undecodable audio were dropped at ingestion.
On Afrivoice's domain and sampling choices
Afrivoice ships six domains; a sixth, Scripted Education, was deliberately excluded from this pool — its per-clip duration field didn't plausibly match its (much longer, paragraph-length) transcript text, a red flag for a text-audio mismatch that wasn't resolved before this release. The five domains used were each capped at 200 hours (Education came in under cap, at 183.5h, since only ~198.5h total exists for that domain after filtering) to keep the corpus from being dominated by whichever domain happened to have the most raw hours available (Health alone has 994h in the source release).
Format
The dataset ships as WebDataset-style tar shards (shards/shard-00000.tar …, ~1 GB each, one {key}.flac file per clip) plus a single manifest (manifest.parquet / manifest.jsonl) that indexes every clip:
Usage
from huggingface_hub import hf_hub_download
import pandas as pd, tarfile, io, soundfile as sf
mp = hf_hub_download("Professor/kinyarwanda-speech-data", "manifest.parquet", repo_type="dataset")
df = pd.read_parquet(mp)
row = df.iloc[0]
shard_path = hf_hub_download("Professor/kinyarwanda-speech-data", f"shards/{row.shard}", repo_type="dataset")
with tarfile.open(shard_path) as tar:
audio_bytes = tar.extractfile(f"{row.key}.flac").read()
arr, sr = sf.read(io.BytesIO(audio_bytes))The tar shards are also directly readable by the `webdataset` library for streaming training pipelines.
Intended use & limitations
Built for Kinyarwanda TTS/ASR research, in particular as pooled finetuning data for a multilingual TTS model that doesn't natively support Kinyarwanda. The bulk of this corpus (Afrivoice) is speech describing photographs across five institutional domains — a fairly narrow register (descriptive, matter-of-fact) compared to natural conversation or narrative speech; the small mbaza_tts portion is the only genuinely TTS-purpose-built, studio-quality anchor. This is a research aggregation; usage should respect the terms of each constituent source below.
License
Both constituent sources are CC BY 4.0. Consult each source's own page for full terms: Afrivoice Kinyarwanda · Kinyarwanda TTS dataset.
Citations
If you use this pooled dataset, please cite the original sources it draws from — consult each source's own HuggingFace page for their preferred citation, as neither currently ships a bibtex entry in-repo.
Acknowledgments
Deep thanks to Digital Umuganda for both constituent datasets — the large-scale Afrivoice image-description corpus across five domains, and (via the mbaza project) the studio-quality single-speaker TTS corpus with linguist-reviewed text.
This dataset was pooled by Victor Olufemi and LyngualLabs as part of the AfroNet multi-language TTS data effort.
