OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning
OpenWhistle Classification Finetuning Dataset OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning is the public classification finetuning dataset used for dolphin whistle identity classification. It contains short whistle clips, whistle-level metadata, fundamental-frequency tracks, rendered F0 spectrograms, and integer class labels. The main reviewer-facing subset is the balanced balanced config. It contains six classes: NSW_1 (label=0) SW_Luna (label=1) SW_Nana… See the full description on the dataset page: https://huggingface.co/datasets/OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning.
OpenWhistle Classification Finetuning Dataset
OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning is the public classification finetuning dataset used for dolphin whistle identity classification. It contains short whistle clips, whistle-level metadata, fundamental-frequency tracks, rendered F0 spectrograms, and integer class labels.
The main reviewer-facing subset is the balanced balanced config. It contains six classes:
NSW_1(label=0)SW_Luna(label=1)SW_Nana(label=2)SW_Neo(label=3)SW_Nikita(label=4)SW_Yosefa(label=5)
The full dataset is split by recording session, so no session appears in more than one of train, validation, or test. Smaller deterministic review configs are also provided so reviewers can inspect representative examples quickly without downloading the complete data first.
Dataset Contents
- Hugging Face repo:
OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning - Main balanced config:
balanced - Reviewer convenience config:
balanced-review-sample - Public columns common to all configs:
audio,label,name,onset,offset,duration,recording_duration,whistle_type,whistle_name,f0_time,f0_hz,f0_conf,f0_ok,f0_bad_reason,f0_spectrogram - The
allandall-review-sampleconfigs additionally includesnr_db, the estimated clip-level signal-to-noise ratio in dB.
Balanced Dataset Splits
The split assignment was generated with seed 42 and exact class balancing. Session leakage checks found no overlap between any pair of splits.
Available Subsets
The repository provides three full classification subsets and their smaller review counterparts:
The ten-class subsets use the following labels:
NSW_3NSW_2NSW_1SW_DanaSW_LunaSW_NanaSW_NeoSW_NikitaSW_ShySW_Yosefa
The balanced subset keeps the six classes listed above and is the recommended starting point for reviewers and model finetuning. The unbalanced and all subsets expose the broader ten-class label space for additional analysis.
Review Samples
Review samples are small deterministic subsets of the same public dataset. They were created only to make review and manual inspection easier. They are not a replacement for the full configs used for model development or reporting.
How The Review Samples Were Created
All review samples were built after the session-disjoint train/validation/test splits were finalized. The review-sample scripts preserve the original split assignment: reviewer training examples come only from the original train split, reviewer validation examples only from validation, and reviewer test examples only from test.
For balanced-review-sample, rows were sampled separately within each split and class. Each class group was shuffled deterministically with numpy.default_rng(seed + split_index) using seed 42, then capped at 56 rows per class for train and 12 rows per class for both validation and test. This keeps the same 70/15/15 split ratio as the full balanced config while keeping every class equally represented.
For unbalanced-review-sample and all-review-sample, the same deterministic shuffle was used, but the target rows were allocated proportionally to the source class distribution inside each split. This preserves the class imbalance of the larger source configs while keeping the review download small.
Review Sample Sizes
The reviewer-facing sample for the main balanced dataset is balanced-review-sample. The other review samples are included so each full subset has a matching small inspection subset.
Loading The Data
from datasets import load_dataset
full = load_dataset(
"OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning",
"balanced",
)
review = load_dataset(
"OpenWhistleNeurIPS26/OpenWhistle-Classification-Finetuning",
"balanced-review-sample",
)Optional broader configs can be loaded by passing "unbalanced" or "all" as the second load_dataset argument. Their corresponding review configs are "unbalanced-review-sample" and "all-review-sample".
