Skip to main content
Annotations mark where artifacts occur in your audio files. Each annotation has a start time, end time, and artifact type. The model learns to detect these patterns during training.

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
Each annotation set gets an auto-incremented version number (v1, v2, v3, etc.).

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
Delete an annotation:
Python

Publishing annotation sets

Before training, publish the annotation set:
Python
Published annotation sets are immutable. You cannot add, edit, or delete annotations after publishing.
If you need to make changes after publishing, create a new annotation set.

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
The export follows Label Studio’s JSON format:

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 the confidence field to indicate labeling certainty:
  • 1.0: Definite artifact, clear example
  • 0.7-0.9: Likely artifact, some ambiguity
  • 0.5-0.7: Possible artifact, unsure
Python
During training, annotations with higher confidence have more influence on the model. Use lower confidence for edge cases.