Why this exists¶
Keyword spotters are usually trained on adult speech. A baby monitor that should react when a toddler calls mama or papa needs the opposite: short, unclear words from children who are just learning to say them. Such recordings already exist in CHILDES and PhonBank, the open archives of child-language research. There they are buried inside hour-long sessions, though, and come with time stamps for whole utterances rather than for single words.
This dataset is those words, cut out. It was built for the voice subsystem of a smart baby monitor (METU EEE capstone, 2024) and has now been cleaned up for release, with every clip traceable to the recording it came from.
Clips
Children
Source corpora
Audio
What is in it¶
| mama | papa | dada | children | |
|---|---|---|---|---|
| train | 462 | 415 | 260 | 34 |
| validation | 49 | 52 | 31 | 7 |
| test | 73 | 52 | 30 | 8 |
| total | 584 | 519 | 321 | 49 |
Each clip is a WAV file with one row in metadata/clips.csv: the source corpus, the child, the recording, the
utterance's time stamps in that recording, the clip's own time span, how it was cut and its split. The splits are
by child: no child has clips in two splits, so test accuracy says how a model does on children it has never heard.
- TraceableEvery clip points back to a CHILDES or PhonBank recording and time span, so it can be checked against the original and cited properly.
- Curated by handClips where the automatic cut missed the word were found by listening and re-cut in Audacity; the metadata says which clips those are.
- Honest splitsTrain, validation and test never share a child, unlike the random splits the original project used.
Read before training on it
papa comes almost entirely from French-speaking children and mama and dada almost entirely from English ones (see the data card). A model can separate the classes by language or recording setup instead of by word. Use the dataset as one ingredient of a keyword spotter, with your own negatives and noise, rather than as a benchmark on its own.
Get it¶
from datasets import load_dataset
ds = load_dataset("huseyin-karaca/mapada")
ds["train"][0] # {'audio': {...}, 'label': ..., 'corpus': ..., 'child': ..., 'age_months': ..., ...}
Download the archive from Zenodo, then:
import pandas as pd, soundfile as sf
clips = pd.read_csv("mapada/metadata/clips.csv")
test = clips[clips.split == "test"]
audio, sr = sf.read("mapada/" + test.file.iloc[0]) # sr == 16000
Most clips are exactly one second; short utterances are shorter, and a few hand-edited ones run up to two seconds. Nothing is padded, so pad or crop to the input length of your model.
Licence¶
The clips are adaptations of TalkBank recordings and are shared under CC BY-NC-SA 4.0: non-commercial use only, with attribution, and adaptations under the same terms. Using them also means following the TalkBank ground rules, including citing every source corpus. Two corpora (Braunwald and Nelson) ask for permission before their audio is shared, so they are included only as time stamps you can rebuild from your own copy of CHILDES. Details are on Licence and citation.
Citation¶
Please cite the dataset, MacWhinney (2000), and the reference of every corpus whose clips you use; all of them
are in metadata/references.bib.
@misc{karaca2026mapada,
author = {Karaca, H{\"u}seyin},
title = {{MaPaDa}: Children's \emph{mama}, \emph{papa} and \emph{dada} for Keyword Spotting},
year = {2026},
version = {1.0.0},
publisher = {Zenodo},
doi = {10.5281/zenodo.23642275},
howpublished = {\url{https://hkaraca.com/mapada/}}
}
Acknowledgements¶
The recordings belong to the families who shared them and to the researchers who collected them and contributed them to TalkBank; the corpora are listed on Licence and citation. CHILDES is supported by NICHD grant HD082736 and PhonBank by NIH-NICHHD grant RO1-HD051698. The dataset was built for the StarSense Ventures smart baby monitor (team and project), advised by Ahmet Cemal Durgun at METU EEE.