Skip to content
laelumePublic

About

Yet Another Audio Annotation Tool

Resources

Stars

11 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

YAAAT! Yet Another Audio Annotation Tool

Interactive bioacoustic annotation tool for measuring animal vocalizations.

Features:

  1. Changepoint Annotator, for marking temporal onset, offset, and changepoints in vocalizations. Useful for describing rapid fluctuations and identifying nonlinear phenomena.
  2. Peak Annotator, for marking dominant frequency peaks on the power spectrum. Useful for describing spectrally complex vocalizations.
  3. Harmonic Annotator, for identifying harmonics.
  4. Batch Annotator, for multi-file review and defining binary and multi-label annotation schema
Changepoint Annotator Peak Annotator Harmonic Annotator
Changepoint Annotator Peak Annotator Harmonic Annotator Batch Annotator

Installation

pip install yaaat

WIP:

Optional detection/classification backend:

pip install yaaat[ai]

Requirements

  • Python 3.9+
  • numpy, scipy, matplotlib, natsort, pandas
  • pysoniq (custom minimal audio I/O)
  • ffmpeg (adds MP3 support via pysoniq, optional)

Usage

Launches the full 4-tab interface:

yaaat

From the local directory:

python -m yaaat

From Python command line:

from yaaat import main
main()

Tabs

Base Annotator

Spectrogram and waveform viewer. No annotation logic. Shared point annotation API available for programmatic use.

Changepoint Annotator

Click-to-add contour points for syllable segmentation. Supports lasso selection, Ctrl+Click dual-endpoint marking, harmonic bounding boxes, skip file dialog, and find-next-skipped navigation.

Peak Annotator

Dual-resolution display — vertical spectrogram (temporal resolution) with PSD overlay (frequency resolution). Click-to-mark spectral peaks. Auto-detection with prominence threshold.

Harmonic Annotator

Auto-detects F0 from mean spectrum. Builds harmonic series with draggable correction lines. Computes inter-harmonic valley boundaries (min energy search) for spectral band visualization. Multiple ridge detection methods: max, peaks, centroid, parabolic, peak ratio.

Batch Annotator

Paginated grid view of mel spectrograms across a dataset. Define named batch annotation columns (e.g. has_noise, has_bifurcation). Batch annotate selected files True/False. Export to CSV.

Copyright and License

Copyright 2025-2026 laelume aka Ashlae Blum'e. Licensed under MIT License.

Please ⭐ or follow us if you enjoy this work !!

To cite the repository:

@software{blume2025yaaat, author = {Ashlae Blum'e}, title = {{YAAAT: Yet Another Audio Annotation Tool}}, year = {2025}, url = {https://github.com/laelume/yaaat}, version = {0.2.0}, note = {GitHub repository} }

To cite the paper:

@article{blume2026yaaat, author = {Ashlae Blum'e}, title = {{YAAAT! Yet Another Audio Annotation Tool}}, year = {2026}, url = {https://hal.science/hal-05638791v2}, note = {HAL preprint, version 2} }

About

Yet Another Audio Annotation Tool

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages