-
Notifications
You must be signed in to change notification settings - Fork 68
PTDT-3807: Add temporal audio annotation support #2013
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
PTDT-3807: Add temporal audio annotation support #2013
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
8d9f9cd
to
c2a7b4c
Compare
26a5e1b
to
26a35fd
Compare
ff7f1ef
to
b16f2ea
Compare
395c824
to
943cb73
Compare
</tr> | ||
</thead> | ||
<tbody> | ||
<tr> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all changes made by GH bot to this file..
61bb9d0
to
a838513
Compare
start, end = ann.frame, getattr(ann, 'end_frame', None) or ann.frame | ||
frames_data.append({"start": start, "end": end}) | ||
frame_mapping[str(start)] = ann.value.answer | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Annotation Value Handling Fails for Complex Types
The _has_changing_values
and _create_multi_value_annotation
methods incorrectly assume annotation.value.answer
is a simple string. This leads to comparison failures and improper JSON serialization for Radio and Checklist classifications, where value.answer
is an object or a list.
Description
This PR introduces Audio Temporal Annotations - a new feature that enables precise time-based annotations for audio files in the Labelbox SDK. This includes support for temporal classification annotations with millisecond-level timing precision.
Motivation: Audio annotation workflows require precise timing control for applications like:
Context: This feature extends the existing audio annotation infrastructure to support temporal annotations, using a millisecond-based timing system that provides the precision needed for audio applications while maintaining compatibility with the existing NDJSON serialization format.
Type of change
All Submissions
New Feature Submissions
Changes to Core Features
Summary of Changes
New Audio Temporal Annotation Types
AudioClassificationAnnotation
: Time-based classifications (radio, checklist, text) for audio segmentsCore Infrastructure Updates
Testing
Documentation & Examples
audio.ipynb
with temporal annotation examplesdemo_audio_token_temporal.py
showing per-token temporal annotationsSerialization & Import Support
Key Features
Precise Timing Control
Per-Token Temporal Annotations
Ontology Setup for Temporal Annotations
Label Integration
This feature enables the Labelbox SDK to support precise temporal audio annotation workflows while maintaining the same high-quality developer experience as existing audio annotation features.
How to test
rishi/ptdt-3807/temporal-audio-prelabel
Python script and requirements.txt
requirements.txt: