CoolFace
Datasetpublic

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.

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes48downloads
Dataset Card

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 labels
templates/
  <split>/
    <lang>_tone_templates.json    # Learned tone templates (5 clusters)

Usage

Load tonal stats and join with base dataset:

python
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:

python
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 statistics
  • —n_segments: Number of word-level segments
  • —n_unique_tones: Number of distinct tone clusters
  • —tone_clusters: List of tone cluster IDs per segment
  • —tone_transitions: Number of tone changes
  • —tone_transition_rate: Tonal complexity score

Citation

If you use this dataset, please cite the original dataset and this tonal extension.