Professor/somali-speech-data
Somali Speech Data (Pooled) A ~103.2-hour Somali speech corpus, drawn from a single source (Afrivoice) and filtered to only genuinely transcribed audio. Part of the AfroNet multi-language TTS data effort. Source DigitalUmuganda/Afrivoice (the general, pan-African Afrivoice release — not Afrivoice_Ethiopia, which we've separately ingested for 5 Ethiopian languages) — Somali portion: 22,627 clips, 103.2h, source dataset_id/source = afrivoice. There is also a Somali… See the full description on the dataset page: https://huggingface.co/datasets/Professor/somali-speech-data.
Somali Speech Data (Pooled)
A ~103.2-hour Somali speech corpus, drawn from a single source (Afrivoice) and filtered to only genuinely transcribed audio. Part of the AfroNet multi-language TTS data effort.
Source
**DigitalUmuganda/Afrivoice** (the general, pan-African Afrivoice release — not Afrivoice_Ethiopia, which we've separately ingested for 5 Ethiopian languages) — Somali portion: 22,627 clips, 103.2h, source dataset_id/source = afrivoice.
There is also a Somali dataset published by African Next Voices (Anv-ke/Somali, 502h) — a completely different organization (Kenya-based KenCorpus Consortium vs. Rwanda-based Digital Umuganda). We use Afrivoice's Somali here; the two don't appear to be the same underlying recordings (their total-hours figures don't match closely, unlike the WAXAL-overlap cases described below), so Anv-ke's Somali release remains a candidate for a future, separate addition if more Somali hours are needed.
Why not WAXAL? WAXAL (google/WaxalNLP) has no Somali config at all, so there's no overlap question here (contrast with Shona/Lingala/Fulani/Malagasy, this source's other languages, which we've skipped for exactly that reason — see the project README).
A note on what "transcribed" means here
Afrivoice pairs each audio clip with an image the speaker was prompted to describe; transcription is the sentence the speaker was recorded saying. Only a minority of recordings are transcribed (~19% of total duration for Somali — 103.2h out of ~536h total) — the rest was recorded but never transcribed. No auto-transcription was used to unlock the untranscribed majority; only clips with a real, human-provided transcript are included here.
All audio is standardized to 16 kHz mono FLAC (lossless), 1–30 second clips. Source audio is real WAV — unlike Afrivoice_Ethiopia, there's no WebM-mislabeling bug here, and it decodes directly via soundfile with no ffmpeg step needed.
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):
Usage
from huggingface_hub import hf_hub_download
import pandas as pd, tarfile, io, soundfile as sf
mp = hf_hub_download("Professor/somali-speech-data", "manifest.parquet", repo_type="dataset")
df = pd.read_parquet(mp)
row = df.iloc[0]
shard_path = hf_hub_download("Professor/somali-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 Somali TTS/ASR research, in particular as finetuning data for a multilingual TTS model that doesn't natively support Somali. Speech is prompted by an image-description task, a narrower register than natural conversation. This is a research aggregation; usage should respect Afrivoice's own terms.
License
CC BY 4.0, per the upstream Afrivoice release.
Acknowledgments
Deep thanks to Digital Umuganda for the Afrivoice corpus.
This dataset was pooled by Victor Olufemi and LyngualLabs as part of the AfroNet multi-language TTS data effort.
