yaaat 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
yaaat-0.1.0/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ # Released under MIT License
2
+
3
+ Copyright (c) 2025 Ashlae Blum'e
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
yaaat-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,104 @@
1
+ Metadata-Version: 2.4
2
+ Name: yaaat
3
+ Version: 0.1.0
4
+ Summary: Interactive bioacoustic annotation tool for vocalizations
5
+ Home-page: https://github.com/laelume/yaaat
6
+ Author: laelume
7
+ License: MIT
8
+ Requires-Python: >=3.8
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Dynamic: author
12
+ Dynamic: home-page
13
+ Dynamic: license-file
14
+ Dynamic: requires-python
15
+
16
+ # YAAAT: Yet Another Audio Annotation Tool
17
+
18
+ Lightweight interactive bioacoustics annotation toolkit for measuring animal vocalizations.
19
+
20
+ Features:
21
+ 1. Changepoint Annotator, for marking temporal onset, offset, and changepoints in vocalizations.
22
+ 2. Peak Annotator, for marking dominant frequency peaks on the power spectrum.
23
+
24
+ <table>
25
+ <tr>
26
+ <td><img src="changepoint_annotator_demo.jpg" alt="Changepoint Annotator" width="400"/></td>
27
+ <td><img src="images/peak_annotator_screenshot.jpg" alt="Peak Annotator" width="400"/></td>
28
+ </tr>
29
+ <tr>
30
+ <td align="center">Changepoint Annotator</td>
31
+ <td align="center">Peak Annotator</td>
32
+ </tr>
33
+ </table>
34
+
35
+ ## Getting Started
36
+
37
+ 1. Click **Load Audio Directory** to select your audio files
38
+ 2. Choose where to save annotations (existing directory, new directory, or default)
39
+ 3. Click on the spectrogram to add annotation points
40
+ 4. Click **Finish Syllable** when done with each syllable
41
+ 5. Move between files using **Next/Previous** buttons
42
+ 6. Annotations auto-save on file navigation or 'Finish syllable'
43
+
44
+ ## Navigation & Features
45
+
46
+ - Intuitive real-time interactive visualization with zoom, pan, and keycommand + mousewheel navigation
47
+ - Visualize harmonics with adjustable multipliers and draggable bounding boxes
48
+ - JSON annotations saved per-file to minimize corruption
49
+ - Mark and track unusable files
50
+ - Adjust spectrogram resolution for accuracy comparison
51
+ - TODO: implement ranking system for annotation quality; add PSD views; inject as learning feedback mechanism
52
+
53
+ ## Installation From Command Line
54
+ ```bash
55
+ git clone https://github.com/laelume/yaaat.git
56
+ cd yaaat
57
+ pip install -r requirements.txt
58
+ cd yaaat
59
+ python changepoint_annotator.py
60
+ ```
61
+
62
+ ## Installation As Package
63
+ ```bash
64
+ pip install yaaat
65
+ ```
66
+
67
+ ## Usage
68
+
69
+ ### Run As Standalone Application
70
+ ```bash
71
+ download .exe file
72
+ ```
73
+
74
+ ### Start From Command Line
75
+ ```bash
76
+ yaaat
77
+ ```
78
+
79
+ ### Use in Python, Jupyter, &.c
80
+ ```python
81
+ from yaaat import ChangepointAnnotator
82
+ import tkinter as tk
83
+
84
+ root = tk.Tk()
85
+ app = ChangepointAnnotator(root)
86
+ root.mainloop()
87
+ ```
88
+
89
+ ## Requirements
90
+
91
+ - Python ≥3.8
92
+ - numpy
93
+ - matplotlib
94
+ - librosa
95
+ - natsort
96
+ - sounddevice
97
+
98
+ ## License
99
+
100
+ MIT License - Copyright (c) 2025 laelume
101
+
102
+ ## Contributing
103
+
104
+ Contributions welcome! Please open an issue or submit a pull request.
yaaat-0.1.0/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # YAAAT: Yet Another Audio Annotation Tool
2
+
3
+ Lightweight interactive bioacoustics annotation toolkit for measuring animal vocalizations.
4
+
5
+ Features:
6
+ 1. Changepoint Annotator, for marking temporal onset, offset, and changepoints in vocalizations.
7
+ 2. Peak Annotator, for marking dominant frequency peaks on the power spectrum.
8
+
9
+ <table>
10
+ <tr>
11
+ <td><img src="changepoint_annotator_demo.jpg" alt="Changepoint Annotator" width="400"/></td>
12
+ <td><img src="images/peak_annotator_screenshot.jpg" alt="Peak Annotator" width="400"/></td>
13
+ </tr>
14
+ <tr>
15
+ <td align="center">Changepoint Annotator</td>
16
+ <td align="center">Peak Annotator</td>
17
+ </tr>
18
+ </table>
19
+
20
+ ## Getting Started
21
+
22
+ 1. Click **Load Audio Directory** to select your audio files
23
+ 2. Choose where to save annotations (existing directory, new directory, or default)
24
+ 3. Click on the spectrogram to add annotation points
25
+ 4. Click **Finish Syllable** when done with each syllable
26
+ 5. Move between files using **Next/Previous** buttons
27
+ 6. Annotations auto-save on file navigation or 'Finish syllable'
28
+
29
+ ## Navigation & Features
30
+
31
+ - Intuitive real-time interactive visualization with zoom, pan, and keycommand + mousewheel navigation
32
+ - Visualize harmonics with adjustable multipliers and draggable bounding boxes
33
+ - JSON annotations saved per-file to minimize corruption
34
+ - Mark and track unusable files
35
+ - Adjust spectrogram resolution for accuracy comparison
36
+ - TODO: implement ranking system for annotation quality; add PSD views; inject as learning feedback mechanism
37
+
38
+ ## Installation From Command Line
39
+ ```bash
40
+ git clone https://github.com/laelume/yaaat.git
41
+ cd yaaat
42
+ pip install -r requirements.txt
43
+ cd yaaat
44
+ python changepoint_annotator.py
45
+ ```
46
+
47
+ ## Installation As Package
48
+ ```bash
49
+ pip install yaaat
50
+ ```
51
+
52
+ ## Usage
53
+
54
+ ### Run As Standalone Application
55
+ ```bash
56
+ download .exe file
57
+ ```
58
+
59
+ ### Start From Command Line
60
+ ```bash
61
+ yaaat
62
+ ```
63
+
64
+ ### Use in Python, Jupyter, &.c
65
+ ```python
66
+ from yaaat import ChangepointAnnotator
67
+ import tkinter as tk
68
+
69
+ root = tk.Tk()
70
+ app = ChangepointAnnotator(root)
71
+ root.mainloop()
72
+ ```
73
+
74
+ ## Requirements
75
+
76
+ - Python ≥3.8
77
+ - numpy
78
+ - matplotlib
79
+ - librosa
80
+ - natsort
81
+ - sounddevice
82
+
83
+ ## License
84
+
85
+ MIT License - Copyright (c) 2025 laelume
86
+
87
+ ## Contributing
88
+
89
+ Contributions welcome! Please open an issue or submit a pull request.
@@ -0,0 +1,14 @@
1
+ [build-system]
2
+ requires = ["setuptools>=45", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "yaaat"
7
+ version = "0.1.0"
8
+ description = "Interactive bioacoustic annotation tool for vocalizations"
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = {text = "MIT"}
12
+
13
+ [project.scripts]
14
+ yaaat = "yaaat.main:main"
yaaat-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
yaaat-0.1.0/setup.py ADDED
@@ -0,0 +1,44 @@
1
+ from setuptools import setup, find_packages
2
+ from pathlib import Path
3
+
4
+ # Read README
5
+ this_directory = Path(__file__).parent
6
+ long_description = (this_directory / "README.md").read_text(encoding='utf-8')
7
+
8
+ setup(
9
+ name="yaaat",
10
+ version="0.1.0",
11
+ author="laelume",
12
+ description="Yet Another Audio Annotation Tool - Interactive bioacoustics multitool for annotating vocalizations",
13
+ long_description=long_description,
14
+ long_description_content_type="text/markdown",
15
+ url="https://github.com/laelume/yaaat",
16
+ packages=find_packages(),
17
+ classifiers=[
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.8",
20
+ "Programming Language :: Python :: 3.9",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "License :: OSI Approved :: MIT License",
25
+ "Operating System :: OS Independent",
26
+ "Development Status :: 4 - Beta",
27
+ "Intended Audience :: Science/Research",
28
+ "Topic :: Multimedia :: Sound/Audio :: Analysis",
29
+ "Topic :: Scientific/Engineering",
30
+ ],
31
+ python_requires=">=3.8",
32
+ install_requires=[
33
+ "numpy",
34
+ "matplotlib",
35
+ "librosa",
36
+ "natsort",
37
+ "sounddevice",
38
+ ],
39
+ entry_points={
40
+ 'console_scripts': [
41
+ 'yaaat=yaaat.main:main', # Launch tabbed interface
42
+ ],
43
+ },
44
+ )
@@ -0,0 +1,13 @@
1
+ # Copyright (c) 2025 Ashlae Blum'e | laelume
2
+ # Licensed under the MIT License
3
+
4
+ """YAAAT - Yet Another Audio Annotation Tool"""
5
+
6
+ from .changepoint_annotator import ChangepointAnnotator, main
7
+ from .peak_annotator import PeakAnnotator
8
+ from .main import YAATApp, main
9
+
10
+ __version__ = "0.1.0"
11
+ __author__ = "laelume"
12
+ __license__ = "MIT"
13
+ __all__ = ["ChangepointAnnotator", "PeakAnnotator", "YAATApp"]
@@ -0,0 +1,5 @@
1
+ """Entry point when running python -m yaaat"""
2
+ from yaaat.main import main
3
+
4
+ if __name__ == "__main__":
5
+ main()