mbsantiago / whombat Goto Github PK
View Code? Open in Web Editor NEWAudio Annotation Tool for ML development
Home Page: https://mbsantiago.github.io/whombat/
License: GNU General Public License v3.0
Audio Annotation Tool for ML development
Home Page: https://mbsantiago.github.io/whombat/
License: GNU General Public License v3.0
Importing an annotation project does not work, it only imports metadata, but no annotations or tasks are imported
Make some annotations, download the project.
I expected the project to be in the same state as on download.
With arbitrary length audios the last segment of the spectrogram is sometimes missing.
I've opened the annotation page for an audio file for a duration of 6.873088 seconds. However, the spectrogram is only generated until 6.4 seconds.
There is inconsistent behavior in the audio play feature. If I move forward to the next clip while audio is playing, it continues playing until it reaches the end of the clip. If I move to the previous clip while audio is playing it stops.
Good morning! I was hoping to place three feature requests.
Best,
Matt
When creating a user, the email validation might faill due to a bug in zod if it contains hyphens or subdomains.
Just create new user (e.g., at /first
upon first boot).
Trying to add annotations, the app returns raises a ValidationError while getting the current active user. The code in commit 8f6adf9 works fine for me. The following commit might have broken authentication. I think the same applies to other actions too.
I've setup Whombat, created a user, a dataset and an annotation task. When I try to add any kind of annotation (e.g. a bounding box), I receive an internal server error. Running dev mode or adding a super user does not change this behavior.
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/applications.py", line 116, in __call__
await self.middleware_stack(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
raise exc
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response
await self.app(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 55, in wrapped_app
raise exc
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 44, in wrapped_app
await app(scope, receive, sender)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/routing.py", line 746, in __call__
await route.handle(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/routing.py", line 75, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 55, in wrapped_app
raise exc
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 44, in wrapped_app
await app(scope, receive, sender)
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/starlette/routing.py", line 70, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 285, in app
raise e
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 275, in app
solved_result = await solve_dependencies(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/fastapi/dependencies/utils.py", line 598, in solve_dependencies
solved = await call(**sub_values)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vogelbam/projects/whombat/back/src/whombat/routes/dependencies/auth.py", line 48, in get_current_user
return schemas.SimpleUser.model_validate(current_active_user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vogelbam/projects/whombat/back/.venv/lib/python3.11/site-packages/pydantic/main.py", line 503, in model_validate
return cls.__pydantic_validator__.validate_python(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for SimpleUser
Input should be a valid dictionary or object to extract fields from [type=model_attributes_type, input_value=<function Authenticator.c...dency at 0x7f22f008e700>, input_type=function]
For further information visit https://errors.pydantic.dev/2.5/v/model_attributes_type
I downloaded the executable for Mac and double-clicked it
Here's the message displayed:
Welcome to:
__ _| |__ ___ _ __ ___ | |__ __ _| |_
\ \ /\ / / '_ \ / _ \| '_ ` _ \| '_ \ / _` | __|
\ V V /| | | | (_) | | | | | | |_) | (_| | |_
\_/\_/ |_| |_|\___/|_| |_| |_|_.__/ \__,_|\__|
An ML-focused audio annotation tool.
Please wait while Whombat starts up...
The environment does not allow connecting to the splash screen. Are the splash resources attached to the bootloader or did an error occur?
Traceback (most recent call last):
File "PyInstaller/fake-modules/pyi_splash.py", line 98, in <module>
File "<frozen os>", line 679, in __getitem__
KeyError: '_PYIBoot_SPLASH'
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
Switching the selected best covering segment seems to impair the representation of calls. I'm not sure whether there's a satisfying solution to this issue, however, it might be confusing to labelers.
I opened a file for annotation and zoomed in. While scrolling horizontally I noticed a call changing its representation which made it look as if the box wasn't fit properly. It appears to be caused by selecting a different covering segment. Here's an example including the used and selected segments:
Selected segment: 4
Start time: 1.2, End time: 1.7
Start time: 0.8999999999999999, End time: 1.4
Start time: 1.5, End time: 2
Selected segment: 5
Start time: 1.5, End time: 2
Start time: 1.2, End time: 1.7
Start time: 1.7999999999999998, End time: 2.3
Hello.
I've been struggling to find an easy to use wildlife call annotator recently and have been looking forward to using whobat, so I'm glad I can finally use it.
When I try to create a new dataset with a directory in the D drive (like D:/path/to/my/directory), I get a "Failed to create dataset" error on the GUI. No message is displayed in the terminal window.
This error does not occur when a directory is in the C drive, the default storage.
I store most of my audio data on the D drive as it's too large to store on the C drive.
Do you have any idea how to get access to the D drive from whombat?
Sorry if I missed something already mentioned in the user guide.
Thank you for your efforts in developping whombat!
Hello,
Thank you very much for supporting open source bioacoustics with this tool! I was wondering if there are plans to support .flac. I would appreciate any guidance on this, in case that you have a roadmap or notes about this feature. Probably that is a soundevent feature more than a whombat feature? Or both?
Looking forward to your feedback and excited about the possibility of contributing to whombat.
Thanks,
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.