Table · dataset · 2026
HyenaSET: Hyena Sound Event Transcripts
Listed in Edmond
This file describes the data contained in the archive and the steps to reproduce the results in the paper HyenaSET: Hyena Sound Event Transcripts and benchmark animal2vec performance for parsing animal communication.
Description
Data description
HyenaSET is a large bioacoustic dataset derived from collar-mounted audio recorders sampled at 24 kHz, and deployed on 19 spotted hyenas in the Masai Mara, Kenya. HyenaSET is released as 590,480 10-second samples, totaling approximately 1640 h, of which 87394 (~243 h) have been reviewed by experts. Of these 87394 10-second clips, 10293 (~29 h ) contain at least one focal or non-focal vocalization with high-resolution onset and offset markers.
Read the rest (11 more)
The dataset is shared as an archive file containing three subfolders and one csv file. The wav sub-folder contains the 10 seconds audio clips, the lbl sub-folder includes the labels, and the manifests sub-folder stores the train and test splits. More details follow on the lbl and manifests folders.
The csv file links the randomised audio file names to their original name for four individuals used in one of the test sets, which allows to retrieve their individual information and their recording timestamp. Manifest folder The manifest folder contains files (called manifest files) that define the train and test splits. We provide two sets of manifest files.
The first set was created by randomly separating the audio clips while preserving the given percentages of each label in the train and test set. We kept 80% of the annotations in the train set and the remaining 20% in the test set. We provide five different train and test splits using this method suitable to apply a k fold cross-validation training strategy.
The results described in our paper were obtained with the manifests files train_0.tsv and valid_0.tsv as the train and test splits respectively. The second set separates the vocalizations by individuals, using four individuals for the validation set and the rest in the train set. This allows to explore the performance of the model on unseen individuals.
The resulting files are called train_0_specific_indiv.tsv and valid_0_specific_indiv.tsv for the train and test sets respectively. Note: the first line of each manifest file represents the audio folder where the audio files are stored. It must be replaced by the folder where the audio files have been downloaded.
Label folder The labels are written in the folder lbl using the h5 format. The directory structure for the lbl and audio folders follow the same directory structure, and every audited audio snippet has a corresponding label file with an identical name. The label file contains the following fields: | h5 fields | Example | Description | |-----------------|----------|--------------------------------------------------| | start_frame_lbl | 15400 | Starting frame of the vocalization | | end_frame_lbl | 20000 | List of the ending frames of the vocalization | | foc | 0 | Whether the vocalization is focal (1) or not (0) | | lbl | “squeal” | Vocalization type | | lbl_cat | 3 | Integer representing the vocalization type | | start_time_lbl | 4.30 | Start time of the vocalization in seconds | | end_time_lbl | 5.20 | End time of the vocalization in seconds | The labeling resulted in 10 classes: 8 hyena call types, one *feeding* class, and one *snore* class.
Reproduce the animal2vec baseline results Prerequisites You first need to clone the animal2vec github repository and install requirements in a virtual environment. All subsequent Python commands should be run from the root folder of this repository. Clone the repo git clone git@github.com:livingingroups/animal2vec.git.
Create a Python virtual environment python3 -m venv myenv Activate the environment source .venv/bin/activate Install the requirements: follow the steps described in github.com/livingingroups/animal2vec#installation-requirements-for-animal2vec Create the manifest files to split the data into train and test set Run the command python scripts/animal2vec_manifest.py /path/to/hyena_dataset/Hyena_10s_2025-10-28/wav/24000Hz/ --valid-percent 0.2 --n-split 1 --dest /path/to/manifest/folder This will separate labels evenly for each class across the train and test set with 20% of the labels in the test set.
You should replace /path/to/hyena_dataset/Hyena_10s_2025-10-28/wav/24000Hz/ by the path to the hyena dataset audio folder on your machine and /path/to/manifest/folder by the folder where you want the manifest files to be written. This script has other options that you can explore by running python scripts/animal2vec_manifest.py --help. Animal2vec training We provide animal2vec checkpoints after the pretraining only and after pretraining and finetuning.
We ran the following commands to pretrain and finetune the model respectively Pretrain: python animal2vec_train.py --config-dir ./configs/hyenas/ --config-name animal2vec_base_pretrain_10s-2-1_5_sinc_38ms_mixup_pswish.yaml --task.data=/path/to/manifest/folder Finetune: python animal2vec_train.py model.w2v_path=/path/to/pretrained_checkpoint.pt --config-dir ./configs/hyenas/ --config-name finetune_mixup_100 --task.data=/path/to/manifest/folder Get animal2vec predictions and scores Compute the predictions, which will be stored as a .h5 file: python get_results_for_single_manifest_split.py --normalize true --export_predictions true --model_path /path/to/finetuned/checkpoint.pt --batch_size 12 --out_path ./predictions --conv_feature_layers '[(127, 63, 1)] +[(512, 10, 5)] + [(512, 3, 4)] + [(512, 3, 3)] + [(512, 3, 2)] + [(512, 3, 1)] + [(512, 2, 1)]
- 2' --unique_labels "['groan', 'oth', 'whoop', 'alarm_rumble', 'squitter', 'squeal', 'feeding', 'giggle', 'growl', 'focal']" --manifest_path /path/to/manifest/folder --split valid_0 --sample_rate 24000 Get the results table from the predictions file created with the step above python scripts/get_ap_scores_from_predictions.py --predictions-file-path /path/to/predictions.h5 --unique-labels "['groan', 'oth', 'whoop', 'alarm_rumble', 'squitter', 'squeal', 'feeding', 'giggle', 'growl', 'focal']" --output-file-path /output/path.csv
Links
Where it is published
- Dataverse dataset page edmond.mpg.de/dataset.xhtml?persistentId=doi%3A10.17617%2F3.8ZSP3J ↗
landing page · from edmond mpdl mpg de
- DOI doi.org/10.17617/3.8zsp3j ↗
DOI / persistent id · from edmond mpdl mpg de
Catalogue records · 1
- Dataverse API edmond.mpg.de/api/datasets/:persistentId/?persistentId=doi%3A10.17617%2F3.8Z… ↗
metadata API · from edmond mpdl mpg de
Topics
Provenance · 2 source records, 24 field assertions
| Source | Key | Last seen | Raw |
|---|---|---|---|
| Edmond | doi:10.17617/3.8ZSP3J | 13 d ago | JSON v1 |
| Edmond | doi:10.17617/3.8ZSP3J | 11 d ago | JSON v1 |
| Field | Assertion | Extractor | Evidence |
|---|---|---|---|
| concepts[field].dataverse_subject:biology | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | /subjects |
| concepts[field].dataverse_subject:biology | source · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:astronomy | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:chemistry | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:computer-science-ai | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:earth-environmental | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:economics-finance | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:engineering | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:humanities | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:life-sciences | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:life-sciences | mapping · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:materials-science | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:medicine-health | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:ocean-atmospheric | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:physics | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[field].local:field:social-science | mapping · edmond mpg de | connector:edmond_mpg_de@1.0.0 | /subjects |
| concepts[modality].local:modality:audio | enrichment · edmond mpdl mpg de | keyword-concept-rules@1.0.0 | title+description (75%) |
| concepts[modality].local:modality:tabular | enrichment · edmond mpdl mpg de | keyword-concept-rules@1.0.0 | title+description (65%) |
| created_date | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | |
| description | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | /description |
| publication_date | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | |
| title | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | /name |
| updated_date | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 | |
| version_label | source · edmond mpdl mpg de | connector:edmond_mpdl_mpg_de@1.0.0 |