YAAAT! Yet Another Audio Annotation Tool. Interactive bioacoustic annotation tool for measuring vocalizations
Project description
YAAAT! Yet Another Audio Annotation Tool
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 |
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} }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yaaat-0.2.1.tar.gz.
File metadata
- Download URL: yaaat-0.2.1.tar.gz
- Upload date:
- Size: 13.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d01995a5fafa6c9f40b004d8c95392c05747400a60064d4116fe97050c660451
|
|
| MD5 |
7ef66ed120ba00d6c02d7780dd6469f4
|
|
| BLAKE2b-256 |
f8ff929803b98d401cd0fb8043a252e4dad950f548d3a0deebaf9eb10840e086
|
File details
Details for the file yaaat-0.2.1-py3-none-any.whl.
File metadata
- Download URL: yaaat-0.2.1-py3-none-any.whl
- Upload date:
- Size: 13.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
381efd33d089c2426882fc0d49c8c2a0b25df6f652cb039e6de5a61f5d1bea1a
|
|
| MD5 |
a19462c92064106c0695ae411c91048d
|
|
| BLAKE2b-256 |
c5b7fb200246cc5eb618585b296babc630e11f7a505b40a80b649c96a7a2e2aa
|