kesbeast23/za-african-next-voices-tonal
Tonal Dataset for Bantu Languages This dataset contains tonal (F0/pitch) metadata extracted from dsfsi-anv/za-african-next-voices. Languages zul xho sot tsn ven tso Files Structure tonal_data/ <split>/ # train, dev_test, etc. <lang>/ utterance_tonal_stats.csv # Per-utterance tonal statistics f0_syllables.csv # Raw F0 segments (word-level) f0_syllables_clustered.csv # F0 segments with tone cluster… See the full description on the dataset page: https://huggingface.co/datasets/kesbeast23/za-african-next-voices-tonal.
Tonal Dataset for Bantu Languages
This dataset contains tonal (F0/pitch) metadata extracted from dsfsi-anv/za-african-next-voices.
Languages
zulxhosottsnventso
Files Structure
tonal_data/
<split>/ # train, dev_test, etc.
<lang>/
utterance_tonal_stats.csv # Per-utterance tonal statistics
f0_syllables.csv # Raw F0 segments (word-level)
f0_syllables_clustered.csv # F0 segments with tone cluster labels
templates/
<split>/
<lang>_tone_templates.json # Learned tone templates (5 clusters)Usage
Load tonal stats and join with base dataset:
import pandas as pd
from datasets import load_dataset
from huggingface_hub import hf_hub_download
# Choose split (train or dev_test)
split = "dev_test"
# Load base audio dataset (streaming)
base_ds = load_dataset("dsfsi-anv/za-african-next-voices", "zul", split=split, streaming=True)
# Download tonal stats for that split
tonal_path = hf_hub_download(
repo_id="kesbeast23/za-african-next-voices-tonal",
filename=f"tonal_data/{split}/zul/utterance_tonal_stats.csv",
repo_type="dataset"
)
tonal_df = pd.read_csv(tonal_path)
# Join by audio file stem
for example in base_ds:
audio_id = example["audio"]["path"].split("/")[-1].replace(".wav", "")
tonal_info = tonal_df[tonal_df["file"] == audio_id]
if len(tonal_info) > 0:
example["tonal_stats"] = tonal_info.iloc[0].to_dict()Load tone templates:
import json
from huggingface_hub import hf_hub_download
split = "dev_test"
template_path = hf_hub_download(
repo_id="kesbeast23/za-african-next-voices-tonal",
filename=f"templates/{split}/zul_tone_templates.json",
repo_type="dataset"
)
with open(template_path) as f:
templates = json.load(f)Tonal Features
Each utterance includes:
f0_mean,f0_std,f0_range: Pitch statisticsn_segments: Number of word-level segmentsn_unique_tones: Number of distinct tone clusterstone_clusters: List of tone cluster IDs per segmenttone_transitions: Number of tone changestone_transition_rate: Tonal complexity score
Citation
If you use this dataset, please cite the original dataset and this tonal extension.
