Interactive bioacoustic annotation tool for measuring vocalizations
Project description
YAAAT: Yet Another Audio Annotation Tool
Interactive bioacoustic annotation tool for measuring vocalizations.
Features:
- Changepoint Annotator, for marking temporal onset, offset, and changepoints in vocalizations.
- Peak Annotator, for marking dominant frequency peaks on the power spectrum.
| Changepoint Annotator | Peak Annotator |
Getting Started
- Click Load Audio Directory to select your audio files
- Choose where to save annotations (existing directory, new directory, or default)
- Click on the spectrogram to add annotation points
- Click Finish Syllable when done with each syllable
- Move between files using Next/Previous buttons
- Annotations auto-save on file navigation or 'Finish syllable'
Navigation & Features
- Intuitive real-time interactive visualization with zoom, pan, and keycommand + mousewheel navigation
- Visualize harmonics with adjustable multipliers and draggable bounding boxes
- JSON annotations saved per-file to minimize corruption
- Mark and track unusable files
- Adjust spectrogram resolution for accuracy comparison
- TODO: implement ranking system for annotation quality; add PSD views; inject as learning feedback mechanism
Installation From Command Line
git clone https://github.com/laelume/yaaat.git
cd yaaat
pip install -r requirements.txt
cd yaaat
python changepoint_annotator.py
Installation As Package
pip install yaaat
Usage
Run As Standalone Application
download .exe file
Start From Command Line
yaaat
Use in Python, Jupyter, &.c
from yaaat import ChangepointAnnotator
import tkinter as tk
root = tk.Tk()
app = ChangepointAnnotator(root)
root.mainloop()
Requirements
- Python ≥3.8
- numpy
- matplotlib
- librosa
- natsort
- sounddevice
License
MIT License - Copyright (c) 2025 laelume
Contributing
Contributions welcome! Please open an issue or submit a pull request.
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
yaaat-0.1.1.tar.gz
(43.3 kB
view details)
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
yaaat-0.1.1-py3-none-any.whl
(46.1 kB
view details)
File details
Details for the file yaaat-0.1.1.tar.gz.
File metadata
- Download URL: yaaat-0.1.1.tar.gz
- Upload date:
- Size: 43.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0e6d4d65679e04c87c0a39ea4fae737d5f59efd0f9b22c19a3842e96af5bc93
|
|
| MD5 |
001c2f58b2bda7d0d24bc2f0c338854b
|
|
| BLAKE2b-256 |
f42ea29cc95947511d8c978d2b5219e2e5ab1e6aaca6ff3480d35c6604399002
|
File details
Details for the file yaaat-0.1.1-py3-none-any.whl.
File metadata
- Download URL: yaaat-0.1.1-py3-none-any.whl
- Upload date:
- Size: 46.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
989a9d4750c48cb819ccb514cc37c9d9237026b3ed2387bb271e5ae7a615704b
|
|
| MD5 |
ea5742344fe18eb48c1491826477b05b
|
|
| BLAKE2b-256 |
0599c3f76f8c10fb1107ea591e867c5d8b66e73eef73174ea441fd5bee1527a9
|