Interactive bioacoustic annotation tool for vocalizations
Project description
YAAAT: Yet Another Audio Annotation Tool
Lightweight interactive bioacoustics annotation toolkit for measuring animal 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.0.tar.gz
(40.8 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.0-py3-none-any.whl
(41.3 kB
view details)
File details
Details for the file yaaat-0.1.0.tar.gz.
File metadata
- Download URL: yaaat-0.1.0.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83bb5b5847e5c091bf0144ec5d8ea8e7d593f97b4cad918968a0d94451ac995b
|
|
| MD5 |
98eb6f3c2123be7f66d1f629d8fb776a
|
|
| BLAKE2b-256 |
03cc84d97caa1a0839c89830bde815c63b3166d18ddf387c4767ca6c92024bd9
|
File details
Details for the file yaaat-0.1.0-py3-none-any.whl.
File metadata
- Download URL: yaaat-0.1.0-py3-none-any.whl
- Upload date:
- Size: 41.3 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 |
449106b08d005dc2ce4487d90eab5f99a513e011bd5ede7d0e7bc737169f993d
|
|
| MD5 |
c0f5dadfdfa8a180b8f6a496f8b02686
|
|
| BLAKE2b-256 |
09ffd600adaa0510e2d9941cf3ebed618758f1acb8d13e715de55b53ec1c8722
|