You can access this dataset on HuggingFace.
Community-contributed Central Kanuri (kau) speech from Lake Chad Basin contributors, collected through the TWB Voice platform: 3,576 recordings across two workflows — 2,134 read-speech clips and 1,442 freeform spoken answers — with recording-level review status for every clip.
Languages
knc— Central Kanuri
Dataset Structure
Recordings are embedded in the Parquet shards under data/<flow>/, one row per clip, in the audio column (HuggingFace Audiofeature). Select a workflow with config= and a review status with split=:
from datasets import load_dataset
ds = load_dataset("ciatech-frica/central-kanuri-speech-dataset", "Freeform", split="approved")
The two workflows were produced by different collection and quality-assurance pipelines and are kept apart deliberately. Read is read speech: the text read aloud is the prompt, so text is the prompt. Freeform is spontaneous speech answering a spoken question, so text is the answer and prompt is the question that was asked.
split is the platform’s own recording-approval status — approved, rejected or pending — not an ML train/dev/test partition. Nothing is withheld: every reviewed clip is published, and the status column plus the split name both tell you what survived review. rejected is the majority in the Read flow (1,020 of 2,134); for ASR training, filter on split="approved".
| field | description |
|---|---|
audio | The recording (HuggingFace Audio feature). audio.path is the original file name, e.g. 6a2054375cfb1.wav. |
flow | Read or Freeform. |
text | The transcript. For Read, the prompt that was read; for Freeform, the answer. Null where no transcription exists. |
transcription | Freeform only: the raw transcription as first written. Null for Read, and for the 595 untranscribed Freeform clips. |
edited_transcription | Freeform only: the transcription after correction, when a correction was made. |
is_canonical_transcription | Freeform only, and true for the transcription to use. 6a3a88c4a2e82.wav is the one clip with two records: both rows are published, and this marks the later one to prefer. |
has_transcription | true where a transcript exists (all Read rows, plus 848 of 1,443 Freeform rows), false otherwise. |
prompt | The text of the prompt. For Read, the sentence that was read; for Freeform, the question that was asked. |
prompt_id | Platform prompt identifier, e.g. SPONT-HC045 or READ-HC144. |
prompt_id_source | How prompt_id was obtained: transcription, recovered by prompt text, or unmatched. See the caveat on missing ids. |
duration | Clip duration in seconds. |
speaker_id | Pseudonymous 8-character contributor hash. Stable across both flows, so clips from one voice can be grouped. |
gender | Male or Female, as recorded at onboarding. |
year_of_birth | As recorded at onboarding. |
country_of_origin | As recorded at onboarding. |
education_level | As recorded at onboarding. |
language_variant | Speaker demographic: the variety the contributor reported for themselves at onboarding, as free text. Constant per speaker, and not a label on the clip. Central for 17 speakers, Other 3, Kanembu 1, I am learning 1, Suwurti 1. |
recording_approval_status | The platform review decision (approved / rejected / pending). Same information as split. |
recording_decision_type | How the review decision was reached (manual, score, …). |
transcription_approval_status | Freeform only: review state of the transcription itself. |
completed_at | Timestamp the contributor finished the recording, ISO 8601 UTC. |
language | Language tag from the platform, knc (ISO 639-3 for Kanuri). It is knc on all 3,577 rows; the Central variety this corpus contains is kau. |
source | Platform source tag, ciatech. |
readback_candidates.tsv in the repository root indexes the clips discussed under Caveats below. Join it to this dataset on filename.
Statistics
| metric | value |
|---|---|
| Rows | 2134 |
| Distinct audio files | 2134 |
| Distinct speakers (approved) | 19 |
| Total hours (approved) | 4.28 |
| Approved / pending / rejected | 1113 / 1 / 1020 |
| Median / p95 duration (s) | 13.92 / 24.72 |
Clips and hours by split
| split | clips | hours |
|---|---|---|
approved | 1113 | 4.28 |
rejected | 1020 | 4.57 |
pending | 1 | 0.01 |
Hours by approval status
| status | hours |
|---|---|
| approved | 4.28 |
| rejected | 4.57 |
| pending | 0.01 |
Demographic distributions below are computed on approved recordings only.
Hours by gender (approved)
| gender | hours |
|---|---|
| Female | 3.12 |
| Male | 1.16 |
Speakers by gender (approved)
| gender | speakers |
|---|---|
| Female | 13 |
| Male | 6 |
Freeform
| metric | value |
|---|---|
| Rows | 1443 |
| Distinct audio files | 1442 |
| Distinct speakers (approved) | 22 |
| Total hours (approved) | 5.78 |
| Approved / pending / rejected | 1093 / 2 / 348 |
| Median / p95 duration (s) | 15.96 / 34.92 |
Clips and hours by split
| split | clips | hours |
|---|---|---|
approved | 1093 | 5.78 |
rejected | 348 | 1.58 |
pending | 2 | 0.01 |
Hours by approval status
| status | hours |
|---|---|
| approved | 5.78 |
| rejected | 1.58 |
| pending | 0.01 |
Demographic distributions below are computed on approved recordings only.
Hours by gender (approved)
| gender | hours |
|---|---|
| Female | 4.60 |
| Male | 1.18 |
| Unspecified | 0.00 |
Speakers by gender (approved)
| gender | speakers |
|---|---|
| Female | 14 |
| Male | 7 |
| Unspecified | 1 |
Dataset Creation
Data Collection
Collection ran on the TWB Voice platform operated by CLEAR Global, with CIATECH Africa leading implementation and community engagement across the Lake Chad Basin. Two workflows were run:
Read speech. Participants read predefined Central Kanuri prompts aloud.
Freeform speech. Participants heard a spoken Central Kanuri question and answered it spontaneously. Freeform clips then passed through recording review, transcription, transcription review, and correction where needed.
Contributors were onboarded and given recording guidance; recordings were reviewed by validators, and freeform recordings were transcribed and checked by transcribers. 24 contributors appear in the released metadata, across male and female speakers, recording predominantly in Nigeria.
Every clip carries the platform’s recording-approval status, and this release publishes all of them — nothing is withheld, so split and recording_approval_status are the filter to use.
| flow | approved | rejected | pending | total |
|---|---|---|---|---|
Read | 1,113 | 1,020 | 1 | 2,134 |
Freeform | 1,093 | 348 | 2 | 1,443 |
595 Freeform recordings have no transcription record. 595 audio files were not transcribed and left as is.
2,982 rows carry a transcript: all 2,134 Read rows, where the transcript is the prompt, and 848 transcribed Freeform rows.
Ethical Considerations
- All contributors were community members who consented to their recordings being collected and published openly.
- Voice recordings are inherently biometric. Do not attempt to re-identify contributors, do not use this data for speaker identification or biometric profiling, and do not combine it with other data to identify individuals.
- Respect contributor privacy and comply with the licence conditions.
Caveats
- Some
Freeformclips are read speech, not spontaneous speech. Contributors were asked a spoken question and a number read it back instead of answering, which would teach a spontaneous-ASR model to repeat its input. 192 of the 1,443Freeformrows are candidates, listed inreadback_candidates.tsv. No split or column marks them, so filter on that file. The list is a lower bound: a human reviewer who listened to the set reports most of it is read-back, so expect more read-backs to remain outside these rows. language_variantis a speaker demographic, likegender, not a label on the clip. It is the contributor’s own free-text answer at onboarding, and the recordings are Central Kanuri throughout — everyone was recorded on the same prompt pool. 6 of 24 speakers report a variety other thanCentral, so expect accented or non-native Central Kanuri from them.KanembuandSuwurtiare Kanuri dialects, not separate languages.splitis a review status, not a data partition. There is no train/dev/test split here. Make your own partition, speaker-disjointly:speaker_idgroups clips by voice and there are only 24 speakers.- 65 rows have no
prompt_id. 555 were recovered by matching prompt text; 65 use prompts carrying no id anywhere in the corpus.prompt_id_sourceflags which rows are affected. This is a metadata gap, not an audio problem. - 3,577 rows, 3,576 files:
6a3a88c4a2e82.wavis transcribed twice. Both rows are published.is_canonical_transcriptionmarks the later one to prefer (truevsfalse) and isnullonReadand untranscribed rows. Deduplicate on(flow, filename)if you need one row per clip. - Audio was captured on contributor devices, not in a studio. Expect channel noise, reverberation, varying levels and sample rates.
- Scale and coverage. 3,576 clips from 24 contributors, one region and one linguistic setting. This is not representative of Kanuri as a whole, the two flows are not interchangeable for modelling, and the corpus is unlikely to be sufficient alone for training an end-to-end ASR system.
Related datasets
For ~50 hours of Kanuri read speech from the same platform, see TWB Voice 1.0.
License
CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial 4.0 International) (SPDX: cc-by-nc-4.0)
For commercial licensing, contact contact@ciatech.ng.
Citation
@dataset{grema2026central_kanuri_speech,
title = {Central Kanuri Speech Dataset},
author = {CIATECH Africa and CLEAR Global},
year = {2026},
publisher = {Hugging Face},
license = {CC BY-NC 4.0}
}
Contact
CIATECH Africa, project lead Umar Grema. CLEAR Global (TWB Voice platform) — tech@clearglobal.org.
Acknowledgments
CIATECH Africa and CLEAR Global acknowledge the Kanuri-speaking community members who contributed the recordings, and the language experts, validators, transcribers, coordinators and other contributors who supported the collection and its quality assurance.
We also acknowledge the TWB Voice team, who provided the data-collection platform and workflow infrastructure on which this corpus was produced.