Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

HyenaSET: Hyena Sound Event Transcripts

Domain:

environment and energy

Record type:

dataset
Creator:
WoeAngGerHol
Publisher:
Edm
Host:avatar

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.

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.

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.

  1. Clone the repo git clone git@github.com:livingingroups/animal2vec.git.
  2. Create a Python virtual environment python3 -m venv myenv
  3. Activate the environment source .venv/bin/activate
  4. Install the requirements: follow the steps described in https://github.com/livingin…

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

Visit

doi.orgedmond.mpg.de

Tasks

speech processing

Languages

Maasai

Tags

Biology

Licenses

info:eu-repo/semantics/openAccessCustom terms specific to this datasethttps://edmond.mpg.de/api/datasets/:persistentId/versions/1.0/customlicense?persistentId=doi:10.17617/3.8ZSP3J

Similar

HyenaSET: Hyena Sound Event Transcripts and benchmark animal2vec performance for parsing animal communication

HyenaSET: Hyena Sound Event Transcripts and benchmark animal2vec performance for parsing animal communication

Abstract Here, we present HyenaSET, a large (~1640 hours) bioac