Interactive bioacoustic annotation tool for measuring animal vocalizations.
Features:
- Changepoint Annotator, for marking temporal onset, offset, and changepoints in vocalizations. Useful for describing rapid fluctuations and identifying nonlinear phenomena.
- Peak Annotator, for marking dominant frequency peaks on the power spectrum. Useful for describing spectrally complex vocalizations.
- Harmonic Annotator, for identifying harmonics.
- Batch Annotator, for multi-file review and defining binary and multi-label annotation schema
![]() |
![]() |
![]() |
|
| Changepoint Annotator | Peak Annotator | Harmonic Annotator | Batch Annotator |
pip install yaaatOptional detection/classification backend:
pip install yaaat[ai]- Python 3.9+
- numpy, scipy, matplotlib, natsort, pandas
- pysoniq (custom minimal audio I/O)
- ffmpeg (adds MP3 support via pysoniq, optional)
Launches the full 4-tab interface:
yaaatFrom the local directory:
python -m yaaatFrom Python command line:
from yaaat import main
main()Spectrogram and waveform viewer. No annotation logic. Shared point annotation API available for programmatic use.
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.
Dual-resolution display — vertical spectrogram (temporal resolution) with PSD overlay (frequency resolution). Click-to-mark spectral peaks. Auto-detection with prominence threshold.
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.
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 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} }


