Downloads · 30 days
14
14% of all-time downloads
tiantiaf/childvox-ReCANVo-whisper-base
childvox-ReCANVo-whisper-base is a audio classification model from tiantiaf. Use it for the audio classification task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as openrail.
This model includes the implementation of child speech vocalization classification described in <a href="https://arxiv.org/abs/2605.29257"<strongChildVox: A Speech, Audio, and Large Audio-Language Model Benchmark in U…
Downloads · 30 days
14
14% of all-time downloads
All-time downloads
101
Public
Repo size
22.3 MB
Likes
1
Public
Click a slice to open those files.
.safetensors22.3 MB · 100%
From the Hugging Face model README
This model includes the implementation of child speech vocalization classification described in <a href="https://arxiv.org/abs/2605.29257"><strong>ChildVox: A Speech, Audio, and Large Audio-Language Model Benchmark in Understanding and Characterizing Sound across Childhood</strong></a> (Accepted to EMNLP 2026 Main)
Github repository: https://github.com/tiantiaf0627/childvox-release
The model is fine-tuned on the ReCANVo dataset, a large-scale corpus of child vocalizations (including young adults too).
The included child vocalization categories are:
[
"delighted",
"dysregulated",
"frustrated",
"request",
"self-talk",
"social",
]
git clone [email protected]:tiantiaf0627/childvox-release
conda create -n childvox python=3.10
cd childvox
pip install -e .
# Load libraries
import torch
import torch.nn.functional as F
from src.model.childvox.whisper_audio import WhisperWrapper
# Find device
device = torch.device("cuda") if torch.cuda.is_available() else "cpu"
# Load model from Huggingface
# We provide model with different folds, and specify the fold from 1, 2, 3, 4, 5
model = WhisperWrapper.from_pretrained("tiantiaf/childvox-ReCANVo-whisper-base", fold_idx=1).to(device)
model.eval()
# Label List
label_list = [
"delighted",
"dysregulated",
"frustrated",
"request",
"self-talk",
"social",
]
# Load data, here just zeros as the example
# The child vocalization segments used in training are short, so we cap the input at 5 seconds
# You need to prepare your audio to a length of 5 seconds, 16kHz and mono channel
max_audio_length = 5 * 16000
data = torch.zeros([1, 160000]).float().to(device)[:, :max_audio_length]
logits, embeddings = model(data, return_feature=True)
# Probability and output
maturity_prob = F.softmax(logits, dim=1)
print(label_list[torch.argmax(maturity_prob).detach().cpu().item()])
Responsible Use: Child speech data is highly sensitive. Users should respect the privacy and consent of the children and families whose recordings are processed, obtain approval from the appropriate ethics/IRB body, and adhere to the relevant laws and regulations in their jurisdictions when using ChildVox.
❌ Out-of-Scope Use
@article{feng2026childvox,
title={ChildVox: A Speech, Audio, and Large Audio-Language Model Benchmark in Understanding and Characterizing Sound across Childhood},
author={Feng, Tiantian and Xu, Anfeng and Shi, Xuan and Kommineni, Aditya and Siam, Shakhrul Iman and Micheletti, Megan and Shi, Zhonghao and Tager-Flusberg, Helen and Zhang, Mi and Perry, Lynn K and others},
journal={arXiv preprint arXiv:2605.29257},
year={2026}
}
@article{johnson2023recanvo,
title={ReCANVo: A database of real-world communicative and affective nonverbal vocalizations},
author={Johnson, Kristina T and Narain, Jaya and Quatieri, Thomas and Maes, Pattie and Picard, Rosalind W},
journal={Scientific Data},
volume={10},
number={1},
pages={523},
year={2023},
publisher={Nature Publishing Group UK London}
}