CoolFace
Datasetpublic

intronhealth/afrispeech-200

AFRISPEECH-200 is a 200hr Pan-African speech corpus for clinical and general domain English accented ASR; a dataset with 120 African accents from 13 countries and 2,463 unique African speakers. Our goal is to raise awareness for and advance Pan-African English ASR research, especially for the clinical domain.

sourceHugging Facecc-by-nc-sa-4.0updated 3y agoView on Hugging Face
40likes2.4kdownloads
Dataset Card

Dataset Card for AfriSpeech-200

Table of Contents

Dataset Description

Dataset Summary

AFRISPEECH-200 is a 200hr Pan-African speech corpus for clinical and general domain English accented ASR; a dataset with 120 African accents from 13 countries and 2,463 unique African speakers. Our goal is to raise awareness for and advance Pan-African English ASR research, especially for the clinical domain.

How to use

The datasets library allows you to load and pre-process your dataset in pure Python, at scale. The dataset can be downloaded and prepared in one call to your local drive by using the load_dataset function.

python
from datasets import load_dataset

afrispeech = load_dataset("tobiolatunji/afrispeech-200", "all")

The entire dataset is ~120GB and may take about 2hrs to download depending on internet speed/bandwidth. If you have disk space or bandwidth limitations, you can use streaming mode described below to work with smaller subsets of the data.

Alterntively you are able to pass a config to the load_dataset function and download only a subset of the data corresponding to a specific accent of interest. The example provided below is isizulu.

For example, to download the isizulu config, simply specify the corresponding accent config name. The list of supported accents is provided in the accent list section below:

python
from datasets import load_dataset

afrispeech = load_dataset("tobiolatunji/afrispeech-200", "isizulu", split="train")

Using the datasets library, you can also stream the dataset on-the-fly by adding a streaming=True argument to the load_dataset function call. Loading a dataset in streaming mode loads individual samples of the dataset at a time, rather than downloading the entire dataset to disk.

python
from datasets import load_dataset

afrispeech = load_dataset("tobiolatunji/afrispeech-200", "isizulu", split="train", streaming=True)

print(next(iter(afrispeech)))
print(list(afrispeech.take(5)))

Local

python
from datasets import load_dataset
from torch.utils.data.sampler import BatchSampler, RandomSampler

afrispeech = load_dataset("tobiolatunji/afrispeech-200", "isizulu", split="train")
batch_sampler = BatchSampler(RandomSampler(afrispeech), batch_size=32, drop_last=False)
dataloader = DataLoader(afrispeech, batch_sampler=batch_sampler)

Streaming

python
from datasets import load_dataset
from torch.utils.data import DataLoader

afrispeech = load_dataset("tobiolatunji/afrispeech-200", "isizulu", split="train", streaming=True)
dataloader = DataLoader(afrispeech, batch_size=32)

Caveats

Note that till the end of the ongoing AfriSpeech ASR Challenge event (Feb - May 2023), the transcripts in the validation set are hidden and the test set will be unreleased till May 19, 2023.

Fine-tuning Colab tutorial

To walk through a complete colab tutorial that finetunes a wav2vec2 model on the afrispeech-200 dataset with transformers, take a look at this colab notebook afrispeech/wav2vec2-colab-tutorial.

Supported Tasks and Leaderboards

  • Automatic Speech Recognition
  • Speech Synthesis (Text-to-Speech)

Languages

English (Accented)

Dataset Structure

Data Instances

A typical data point comprises the path to the audio file, called path and its transcription, called transcript. Some additional information about the speaker is provided.

{
    'speaker_id': 'b545a4ca235a7b72688a1c0b3eb6bde6', 
    'path': 'aad9bd69-7ca0-4db1-b650-1eeea17a0153/5dcb6ee086e392376cd3b7131a250397.wav', 
    'audio_id': 'aad9bd69-7ca0-4db1-b650-1eeea17a0153/5dcb6ee086e392376cd3b7131a250397',
    'audio': {
        'path': 'aad9bd69-7ca0-4db1-b650-1eeea17a0153/5dcb6ee086e392376cd3b7131a250397.wav', 
        'array': array([0.00018311, 0.00061035, 0.00012207, ..., 0.00192261, 0.00195312, 0.00216675]), 
        'sampling_rate': 44100}, 
    'transcript': 'His mother is in her 50 s and has hypertension .', 
    'age_group': '26-40', 
    'gender': 'Male', 
    'accent': 'yoruba', 
    'domain': 'clinical', 
    'country': 'US', 
    'duration': 3.241995464852608
}

Data Fields

  • speaker_id: An id for which speaker (voice) made the recording
  • path: The path to the audio file
  • audio: A dictionary containing the path to the downloaded audio file, the decoded audio array, and the sampling rate. Note that when accessing the audio column: dataset[0]["audio"] the audio file is automatically decoded and resampled to dataset.features["audio"].sampling_rate. Decoding and resampling of a large number of audio files might take a significant amount of time. Thus it is important to first query the sample index before the "audio" column, i.e. dataset[0]["audio"] should always be preferred over dataset["audio"][0].
  • transcript: The sentence the user was prompted to speak

Data Splits

The speech material has been subdivided into portions for train, dev, and test.

Speech was recorded in a quiet environment with high quality microphone, speakers were asked to read one sentence at a time.

  • Total Number of Unique Speakers: 2,463
  • Female/Male/Other Ratio: 57.11/42.41/0.48
  • Data was first split on speakers. Speakers in Train/Dev/Test do not cross partitions
TrainDevTest
# Speakers1466247750
# Seconds624228.8331447.0967559.10
# Hours173.48.7418.77
# Accents7145108
Avg secs/speaker425.81127.3290.08
Avg num clips/speaker39.5613.088.46
Avg num speakers/accent20.655.496.94
Avg secs/accent8791.96698.82625.55
# clips general domain2168214072723
# clips clinical domain3631818243623

Dataset Creation

Curation Rationale

Africa has a very low doctor-to-patient ratio. At very busy clinics, doctors could see 30+ patients per day-- a heavy patient burden compared with developed countries-- but productivity tools such as clinical automatic speech recognition (ASR) are lacking for these overworked clinicians. However, clinical ASR is mature, even ubiquitous, in developed nations, and clinician-reported performance of commercial clinical ASR systems is generally satisfactory. Furthermore, the recent performance of general domain ASR is approaching human accuracy. However, several gaps exist. Several publications have highlighted racial bias with speech-to-text algorithms and performance on minority accents lags significantly. To our knowledge, there is no publicly available research or benchmark on accented African clinical ASR, and speech data is non-existent for the majority of African accents. We release AfriSpeech, 200hrs of Pan-African speech, 67,577 clips from 2,463 unique speakers, across 120 indigenous accents from 13 countries for clinical and general domain ASR, a benchmark test set, with publicly available pre-trained models with SOTA performance on the AfriSpeech benchmark.

Source Data

Country Stats
CountryClipsSpeakersDuration (seconds)Duration (hrs)
NG458751979512646.88142.40
KE830413775195.4320.89
ZA787022381688.1122.69
GH20183718581.135.16
BW13913814249.013.96
UG10922610420.422.89
RW46995300.991.47
US21951900.980.53
TR661664.010.18
ZW633635.110.18
MW601554.610.15
TZ512645.510.18
LS7178.400.02
Accent Stats
AccentClipsSpeakersDuration (s)CountrySplits
yoruba15407683161587.55US,NGtrain,test,dev
igbo867737493035.79US,NG,ZAtrain,test,dev
swahili632011955932.82KE,TZ,ZA,UGtrain,test,dev
hausa576524870878.67NGtrain,test,dev
ijaw249910533178.9NGtrain,test,dev
afrikaans20483320586.49ZAtrain,test,dev
idoma18777220463.6NGtrain,test,dev
zulu17945218216.97ZA,TR,LSdev,train,test
setswana15883916553.22BW,ZAdev,test,train
twi15662214340.12GHtest,train,dev
isizulu10484810376.09ZAtest,train,dev
igala919319854.72NGtrain,test
izon838479602.53NGtrain,dev,test
kiswahili82768988.26KEtrain,test
ebira757427752.94NGtrain,test,dev
luganda722226768.19UG,BW,KEtest,dev,train
urhobo646326685.12NGtrain,dev,test
nembe578166644.72NGtrain,test,dev
ibibio570396489.29NGtrain,test,dev
pidgin514205871.57NGtest,train,dev
luhya50844497.02KEtrain,test
kinyarwanda46995300.99RWtrain,test,dev
xhosa392124604.84ZAtrain,dev,test
tswana387184148.58ZA,BWtrain,test,dev
esan380134162.63NGtrain,test,dev
alago36383902.09NGtrain,test
tshivenda35353264.77ZAtest,train
fulani312185084.32NGtest,train
isoko298164236.88NGtrain,test,dev
akan (fante)29592848.54GHtrain,dev,test
ikwere293143480.43NGtest,train,dev
sepedi275102751.68ZAdev,test,train
efik269112559.32NGtest,train,dev
edo237121842.32NGtrain,test,dev
luo23442052.25UG,KEtest,train,dev
kikuyu22941949.62KEtrain,test,dev
bekwarra21832000.46NGtrain,test
isixhosa21092100.28ZAtrain,dev,test
hausa/fulani20232213.53NGtest,train
epie20262320.21NGtrain,test
isindebele19821759.49ZAtrain,test
venda and xitsonga18822603.75ZAtrain,test
sotho18242082.21ZAdev,test,train
akan15761392.47GHtest,train
nupe15691608.24NGdev,train,test
anaang15381532.56NGtest,dev
english151112445.98NGdev,test
afemai14221877.04NGtrain,test
shona13881419.98ZA,ZWtest,train,dev
eggon13751833.77NGtest
luganda and kiswahili13411356.93UGtrain
ukwuani13371269.02NGtest
sesotho132101397.16ZAtrain,dev,test
benin12441457.48NGtrain,test
kagoma12311781.04NGtrain
nasarawa eggon12011039.99NGtrain
tiv120141084.52NGtrain,test,dev
south african english11921643.82ZAtrain,test
borana11211090.71KEtrain
swahili ,luganda ,arabic1091929.46UGtrain
ogoni10941629.7NGtrain,test
mada10921786.26NGtest
bette1064930.16NGtrain,test
berom10541272.99NGdev,test
bini10441499.75NGtest
ngas10231234.16NGtrain,test
etsako10141074.53NGtrain,test
okrika10031887.47NGtrain,test
venda992938.14ZAtrain,test
siswati9651367.45ZAdev,train,test
damara921674.43NGtrain
yoruba, hausa895928.98NGtest
southern sotho891889.73ZAtrain
kanuri8671936.78NGtest,dev
itsekiri823778.47NGtest,dev
ekpeye802922.88NGtest
mwaghavul782738.02NGtest
bajju722758.16NGtest
luo, swahili711616.57KEtrain
dholuo701669.07KEtrain
ekene681839.31NGtest
jaba652540.66NGtest
ika654576.56NGtest,dev
angas651589.99NGtest
ateso631624.28UGtrain
brass622900.04NGtest
ikulu611313.2NGtest
eleme6021207.92NGtest
chichewa601554.61MWtrain
oklo581871.37NGtest
meru582865.07KEtrain,test
agatu551369.11NGtest
okirika541792.65NGtest
igarra541562.12NGtest
ijaw(nembe)542537.56NGtest
khana512497.42NGtest
ogbia514461.15NGtest,dev
gbagyi514693.43NGtest
portuguese501525.02ZAtrain
delta492425.76NGtest
bassa491646.13NGtest
etche491637.48NGtest
kubi461495.21NGtest
jukun442362.12NGtest
igbo and yoruba432466.98NGtest
urobo433573.14NGtest
kalabari425305.49NGtest
ibani421322.34NGtest
obolo371204.79NGtest
idah341533.5NGtest
bassa-nge/nupe313267.42NGtest,dev
yala mbembe291237.27NGtest
eket281238.85NGtest
afo261171.15NGtest
ebiobo251226.27NGtest
nyandang251230.41NGtest
ishan231194.12NGtest
bagi201284.54NGtest
estako201480.78NGtest
gerawa131342.15NGtest
Initial Data Collection and Normalization

[Needs More Information]

Who are the source language producers?

[Needs More Information]

Annotations

Annotation process

[Needs More Information]

Who are the annotators?

[Needs More Information]

Personal and Sensitive Information

The dataset consists of people who have donated their voice online. You agree to not attempt to determine the identity of speakers in this dataset.

Considerations for Using the Data

Social Impact of Dataset

[More Information Needed]

Discussion of Biases

[More Information Needed]

Other Known Limitations

Dataset provided for research purposes only. Please check dataset license for additional information.

Additional Information

Dataset Curators

The dataset was initially prepared by Intron and refined for public release by CLAIR Lab.

Licensing Information

Public Domain, Creative Commons Attribution NonCommercial ShareAlike v4.0 (CC BY-NC-SA 4.0)

Citation Information

@article{olatunji2023afrispeech, title={AfriSpeech-200: Pan-African Accented Speech Dataset for Clinical and General Domain ASR}, author={Olatunji, Tobi and Afonja, Tejumade and Yadavalli, Aditya and Emezue, Chris Chinenye and Singh, Sahib and Dossou, Bonaventure FP and Osuchukwu, Joanne and Osei, Salomey and Tonja, Atnafu Lambebo and Etori, Naome and others}, journal={arXiv preprint arXiv:2310.00274}, year={2023} }

Contributions

Thanks to @tobiolatunji for adding this dataset.