Annotation format
Every annotation requires:All annotations must have timestamps. Relay does not support file-level labels (e.g., “this file contains a glitch somewhere”). This enables precise, timestamped detection during inference.
Annotation sets
Annotations are organized into annotation sets, which provide versioning and immutability for reproducible training.Create an annotation set
Python
Draft vs Published
Annotation sets have two states:
New annotation sets start as drafts. You can add, edit, and delete annotations freely. When you’re done labeling, publish the set to lock it for training.
Adding annotations
Single annotation
Python
Bulk annotations
For efficiency, create multiple annotations in a single request:Python
Editing annotations
Update an existing annotation (only in draft sets):Python
Python
Publishing annotation sets
Before training, publish the annotation set:Python
Viewing annotations
List annotations in a set
Python
Filter by audio file
Python
Filter by artifact type
Python
Label Studio export
Export annotations in Label Studio format for external editing:Python
Best practices
Minimum annotation duration
Annotations should be at least 50ms long. Very short annotations may not provide enough context for the model to learn.Python
Consistent labeling
Use the same criteria for all annotations of a given type:- Define clear guidelines for what constitutes each artifact type
- Review annotations for consistency before publishing
- Consider having multiple labelers and comparing their annotations
Coverage
For best model performance:- Annotate at least 5 minutes of total audio per artifact type
- Include examples from different audio sources/speakers
- Label both positive examples (artifacts) AND ensure there’s clean audio (negative examples)
Overlapping annotations
Annotations for the same artifact type should not overlap. Different artifact types can overlap if they occur simultaneously.Python
Confidence scores
Use theconfidence field to indicate labeling certainty:
1.0: Definite artifact, clear example0.7-0.9: Likely artifact, some ambiguity0.5-0.7: Possible artifact, unsure
Python
