> For the complete documentation index, see [llms.txt](https://docs.imerit.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.imerit.net/labeling/labeling-editor-interface/audio-labeling-editor.md).

# Audio Labeling Editor

Overview of the Audio Labeling Editor in Ango Hub

Ango Hub provides a labeling editor with which audio files can be annotated.

{% hint style="info" %}
This article will exclusively go over Ango Hub’s audio labeling interface. Features common to all labeling editors are instead [explained here](/labeling/labeling-editor-interface.md).
{% endhint %}

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FZN8Emp4vd9rStcNrbPLc%2Fimage.png?alt=media&amp;token=ef81278f-309b-4468-b34e-74d1a759ef52" alt=""><figcaption></figcaption></figure>

## Overview <a href="#audio-interface-elements" id="audio-interface-elements"></a>

### Supported File Types

The audio labeling editor supports audio assets with the following file extensions:

* .mp3
* .wav
* .ogg

### Supported Labeling Tools

The audio labeling editor supports following labeling tools:

**Tools**

* Entity

**Classifications**

* Radio
* Checkbox
* Single-Select Dropdown
* Multi-Select Dropdown
* Single-Select Tree
* Multi-Select Tree
* Text

**Relations**

* Single Relation
* Group Relation

### Audio Interface Elements <a href="#audio-interface-elements" id="audio-interface-elements"></a>

#### Playback bar <a href="#bottom-bar" id="bottom-bar"></a>

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FHXVMHGkzbeEgu26RnVvB%2Fimage.png?alt=media&amp;token=ab2abc42-9961-4a29-93e6-55dd329d998c" alt=""><figcaption></figcaption></figure>

* <img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FFUPuR0PgH868i554PkfN%2Fimage.png?alt=media&amp;token=cd7ad9db-72e3-4c03-a24a-c096225ec90e" alt="" data-size="line"> allow you to move the playhead to the beginning of the audio file, five seconds back, play/pause, five second forward, and to the end of the file.
* The <img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FgwJVjksrgksNfddX1kdD%2Fimage.png?alt=media&amp;token=2fbc42ea-a08e-4ea0-847c-3589ba64f958" alt="" data-size="line">*Replay Selected Segment* button becomes active when a segment is selected. With *Loop* off, it plays the segment once from its start and stops at its end. The segment stays selected, so you can replay it again without reselecting it. Press R or click the segment's play icon in the *Segment List* to do the same. With *Loop* on, the segment repeats.
* <img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2F0hzYHvGjxwdK9mFEwMVi%2Fimage.png?alt=media&amp;token=0ee87cef-77b8-4827-b764-1119f99bc20f" alt="" data-size="line">indicates the position of the playhead / the total duration of the audio file.
* When a segment is selected, <img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FHNZuNwl2kCDzBhxE9kpd%2Fimage.png?alt=media&amp;token=97bd8fc9-da0d-4a2f-b7be-bb057e8c6ee6" alt="" data-size="line">allow you to move to the next/previous segment.
* If *Auto Scroll* is enabled, the list of segments below the playback bar will move with the playhead, displaying as selected the currently playing segment. When you use *Replay Selected Segment*, your chosen segment stays selected throughout the replay and after it stops.
* *Loop* repeats playback continuously. With no segment selected, it loops the entire audio asset. With a segment selected, pressing Play loops that segment; if the playhead is outside the segment, playback begins at the segment's start. Selecting a different segment while playback is active changes the loop target, and clearing the selection switches back to looping the full asset. Press G to turn Loop on or off.
* The <img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FFmAUG8E73kMqcB8AbqXw%2Fimage.png?alt=media&amp;token=9d5f2b72-114e-428b-b241-c3e10522760d" alt="" data-size="line"> icon enables you to pick a playback speed.
* The zoom slider enables you to pick a zoom level. You may also zoom in/out with the scroll wheel. Both types of zoom always zoom towards the current location of the playhead.
* The volume slider allows you to change the playback volume.
* Your playback speed and volume remain selected when you move to another audio asset using the navigation arrows, *Submit*, or *Skip*.
* The *Show Spectrogram* button displays a spectrogram below the waveform. The spectrogram uses the same timeline as the waveform, so playback, seeking, zooming, scrolling, and segment editing stay aligned across both views.
* For audio assets with more than one channel, the playback bar will also show a *Show Separate Channels* button. Clicking it displays each audio channel as a separate waveform, making it easier to inspect left and right channels independently.
* For stereo audio assets, the playback bar also includes a *Mixer* button. From the Mixer, you may move the stereo balance between *Left*, *Center*, and *Right*, or set an intermediate value with the slider. This allows you to lower one side of the audio and focus on the other channel while labeling.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-34ddaa888eeb4e67ec5fd9dd17f4ff54c3dd0c5f%2Floreshot-20260506-124440%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

#### Spectrogram View <a href="#spectrogram-view" id="spectrogram-view"></a>

The spectrogram view lets you inspect the frequency content of an audio asset while labeling. It appears under the waveform and can be shown or hidden from the playback bar.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-51527513c0537d696015c00fe96c4738396d223a%2Faudio-editor-spectrogram.png?alt=media" alt="Audio editor showing waveform and spectrogram views on the same timeline"><figcaption></figcaption></figure>

When the spectrogram is visible:

* The waveform remains visible above it, unless you resize the panels to give the spectrogram the full available height.
* It uses a grayscale color scale to make differences in audio intensity easier to inspect.
* The frequency scale stays pinned on the left while you zoom and scroll through the audio. Select the settings icon in this gutter to adjust the spectrogram settings described below.
* Hovering over the spectrogram shows the timestamp and approximate frequency under the cursor.
* Audio entity segments stay visible on both the waveform and spectrogram views.
* In *Layered Text View*, hovering over or selecting an audio segment shows thin boundaries in its class color, extending from the waveform through the spectrogram. The boundaries remain visible when you lower segment opacity, and you can drag a selected segment's edges from the spectrogram to adjust its timing.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-549fba2c506fe7ada9ff245f31298e4296449615%2Fspectrogram-settings-5-13.png?alt=media" alt="Spectrogram settings including frequency range, window, dynamic range, and dynamic compression"><figcaption></figcaption></figure>

To resize the waveform and spectrogram areas, drag the divider between them. The divider snaps between preset heights, letting you keep the waveform full size, shrink it, or hide it while keeping the spectrogram visible.

**Spectrogram Settings**

Open *Spectrogram settings* from the settings icon beside the frequency scale to adjust:

* *View range*: the lowest and highest frequencies shown, in Hz.
* *Window*: the analysis window used to calculate the spectrogram.
* *Dynamic range (dB)*: how far below the strongest level the spectrogram shows detail. The default is 70 dB. Increase this value to reveal fainter detail, or decrease it for higher contrast. The value must be greater than 0.
* *Dynamic compression (0–1)*: how strongly quieter moments appear. The default, 0, preserves their relative strength. Increase it to make quiet speech easier to see. At 1, non-silent moments have equally strong peaks, which also makes background noise more visible.

Click *Apply*, or press Enter in a number field, to apply all your changes together. Closing the settings without applying discards your edits. Clearing a field keeps its saved value; an invalid dynamic range or compression value also returns to its saved value when applied. Settings are saved separately for each project and remain in place when you move between its assets or reload the editor.

The intensity reference is based on the whole recording. Zooming or scrolling to a quieter passage does not automatically rescale its intensity.

#### Top Bar <a href="#how-to-annotate-text" id="how-to-annotate-text"></a>

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FmxRkq0YfPUTb3tY1nh31%2Fimage.png?alt=media&amp;token=48d0c62f-8cfb-4e62-a517-ed8f8655b03a" alt="" width="563"><figcaption></figcaption></figure>

Click on the "Model Plugins" button to open a list of [model-type plugins](/plugins/plugin-developer-documentation.md) available in your organization.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FP5IMdEQ9G3zRbkh5X42d%2Fimage.png?alt=media&amp;token=64a7cc34-7448-4f2d-8ed5-775009340fdb" alt="" width="563"><figcaption></figcaption></figure>

If a [default preset](/plugins/introduction-to-plugins/plugin-configuration-and-preset-management.md) has been set for the plugin, the button will be clickable, and clicking on it once will run the plugin on the current asset with the default settings.

Clicking on the three dots next to the model name will open the Model Run Dialog, allowing you to customize the plugin's run settings and to run the plugin on the current asset with settings of your choice.

#### Segment List and Layered Text View <a href="#how-to-annotate-text" id="how-to-annotate-text"></a>

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FGtwrmriYAlELxygj1oAO%2Fimage.png?alt=media&amp;token=5000ac89-b5d6-493f-936a-4af204618d9d" alt=""><figcaption></figcaption></figure>

Use the view selector to switch between *Segment List* and *Layered Text View*. Ango Hub remembers the selected view after you reload the task.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-ade71bbb58b75c80cb187c33323e32be8431f716%2Faudio-view-selector.png?alt=media" alt="Buttons for switching between Segment List and Layered Text View"><figcaption></figcaption></figure>

The *Layered Text View* button is also available in the editor's right-side toolbar.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-e7facb98dff5220c9ede2ae94a8ee1b660a9a0d6%2Faudio-layered-text-view-button.png?alt=media" alt="Layered Text View button in the editor&#x27;s right-side toolbar"><figcaption></figcaption></figure>

The *Segment List* allows you to see, at a glance, each segment currently present in the audio file. If segments have [nested classifications](/labeling/labeling-tools/tools/nested-classifications.md), those classifications will be displayed in the segment list. This can, for example, be a text classification, a dropdown, radio, or any other available [classification type](/data/importing-and-exporting-annotations/exporting-annotations/ango-export-format/asset/task/classifications.md).

*Layered Text View* organizes segments into numbered tiers. Select a tier to focus the waveform on its segments, then use the edit icon in a tier box to update its selection text. To move one or more selected segments to another tier, right-click them and choose *Change Tier*. New segments are added to the selected tier.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-350dbbb89c93df4291cf755aa4b16c80b0e20e8e%2Faudio-layered-text-view.png?alt=media" alt="Layered Text View showing numbered tiers, transcript regions, and the aligned audio waveform"><figcaption></figcaption></figure>

Clicking on the three dots next to each class's name will open a menu where you can open [object-specific issues](/core-concepts/issues.md#object-level-issues), or copy the unique Object ID of that object.

The `id` column displays a unique ID for the segment. These are the first three characters of the Object ID.

The *Classifications* column displays nested classifications of the class belonging to the segment, if any.

The *Start* and *End* columns display the timestamp when the segment starts and ends in the audio file. The *Duration* displays the duration of the segment.

#### Default Tiers for Entity Tools

To choose a default tier for an Entity tool, open the project's *Settings > Category Schema* and click the *T–* chip next to the tool's keyboard shortcut. Open the *Default Tier* dropdown and choose *Tier 1* through *Tier 5*, then save the category schema. The chip shows the selected tier, for example *T3* for Tier 3. Choose *No default* to clear it.

The default applies to every task in the project. Selecting the tool in the audio editor, either by clicking it or using its keyboard shortcut, switches to that tier, so new segments are drawn there. Selecting a tool with no default leaves the current tier unchanged.

Default tiers also apply to video assets in Waveform View. They do not affect Entity annotations on text assets.

#### Editing segment times precisely

Select one segment to edit its timing with millisecond precision. When exactly one segment is selected, its *Start* and *End* values in the *Segment List* become editable. Enter a value as seconds, `m:ss.mmm`, or `mm:ss:mmm`, then press Enter or click outside the field to save it. Press Tab to move from *Start* to *End*, or Escape to discard the edit.

While editing a *Start* or *End* value, use the Up and Down arrow keys to adjust it by 10 milliseconds. Hold Shift to adjust it by 100 milliseconds, or Ctrl (Command on macOS) to adjust it by 1 millisecond.

You can also move the entire selected segment without changing its duration:

* Alt (Option on macOS) + Left/Right Arrow moves it by 10 milliseconds.
* Alt/Option + Shift + Left/Right Arrow moves it by 100 milliseconds.
* Ctrl + Shift + Left/Right Arrow on Windows and Linux, or Command + Shift + Left/Right Arrow on macOS, moves it by 1 millisecond.

Hold a shortcut to move the segment continuously. If an overlap-prevention setting is enabled, the segment stops at the nearest applicable segment boundary.

If you hide an audio entity from the *Objects* panel using the eye icon, the same entity is also hidden from the waveform and from the *Segment List*. Hidden entities are skipped when using the next and previous segment controls. Showing the entity again from the *Objects* panel makes it appear in the waveform and *Segment List* again.

You may additionally delete the segment by clicking on the trash can.

## How to Annotate Audio <a href="#how-to-annotate-audio" id="how-to-annotate-audio"></a>

From the playback buttons on the bottom bar, start and stop playback of the audio file as necessary.

{% hint style="info" %}
If you get no sound, make sure that:

* Your system volume is on
* The volume slider on the bottom bar is not all the way to the left
* You have selected the right output device on your computer
  {% endhint %}

From the *Tools* section on the left sidebar, select an *Entity* labeling tool, marked with an underlined *A* icon.

![](https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mj9Q2CMggO8ujraHZeP%2F-MjinyBQMEeUJITGjRy-%2F-MjioWZvCdnVUd5huu4o%2Fimage.png?alt=media\&token=3832ceb1-7863-480b-bbae-e98c7a13389b)

Click on the waveform where you’d like the annotation to start. Keep the left mouse button pressed and drag until where you’d like the annotation to end. Release the left mouse button.

You can change the start and end points of the annotation by selecting it with left-click, then dragging on one of the ends. You can drag the entire annotation by, after selecting it, clicking and dragging from the middle of the label.

To prevent audio entity annotations from overlapping, use the overlap controls in the bottom bar. Choose *Prevent All Region Overlap* to prevent any overlap, or *Prevent Same-Class Region Overlap* to prevent overlap only between segments of the same class. Click the active control again to turn overlap prevention off. Ango Hub remembers the selected overlap setting after reload.

When an overlap-prevention setting is enabled, newly drawn audio entity annotations cannot overlap according to the selected rule. If part of a new annotation would overlap an applicable existing annotation, Ango Hub shortens or moves its boundary to the nearest available range. If the new annotation is fully inside an applicable existing annotation, it is not created. Existing annotations follow the same rule when you edit their start or end points.

Overlap prevention applies only between audio entity segments. Point and ranged issues do not block moving, resizing, or drawing segments, and moving a segment across an issue keeps its duration. Hiding or showing issues does not change these rules.

### Changing Audio Segment Opacity

To make the waveform easier to inspect behind audio entity segments, open the editor settings from the bottom-right corner of the editor and adjust the *Opacity* slider. The setting ranges from 0 (transparent) to 1 (opaque) and updates segment fills immediately in the waveform, separate-channel, and spectrogram views.

Selected segments remain slightly more visible than other segments. Issue regions and pending issue highlights keep their own visibility and are not changed by this setting.

Press `Y` to switch the opacity between 0 and the last non-zero value.

If the labeling tool has nested questions, right-click on the label and click on the menu that appears to see and answer the nested questions.

If classification questions are present, you may answer them from the *Questions* panel on the left sidebar.

![](https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mj9Q2CMggO8ujraHZeP%2F-MjinyBQMEeUJITGjRy-%2F-Mjio_LSm4Iuu0eZ3cIA%2Fimage.png?alt=media\&token=d3b35583-85a2-49eb-b17e-060fdbe560a6)

## Opening Spot Issues <a href="#keyboard-shortcuts" id="keyboard-shortcuts"></a>

Besides issues about the asset as a whole and about individual objects, as outlined in the docs page on [issues](/core-concepts/issues.md), in audio assets you may also open 'spot' issues about specific timestamps or ranges of timestamps.

To do so, click on the *issue bubble* icon at the top-right of the screen. Then, either click once on the audio where you would like to open the issue, or click and drag on the audio waveform over the section of audio related to the issue:

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FPifmpLLrwZy2D5zBzNO4%2FKapture%202024-07-11%20at%2014.15.43.gif?alt=media&amp;token=c87f9270-7423-4135-bdc1-fc06edf9c727" alt=""><figcaption></figcaption></figure>

## Splitting an entity

Select one segment and move the playhead to the point where you want to divide it. Click *Split* next to *Merge* in the playback bar. This also works in a video's *Waveform View*.

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2Fgit-blob-f77f8bb91eb58f0c1e35d1edfb32750ee4bc3673%2Faudio-split-segment-5-14.png?alt=media" alt="Split button in the playback bar with the tooltip Split selected segment at current time" width="563"><figcaption><p>Split the selected segment at the playhead.</p></figcaption></figure>

The two resulting segments meet at the playhead and keep the original class, tier, text, and all nested answers. You can edit each half independently. Issues, relations, and group membership stay with the first half. Undo restores the original segment in one step.

*Split* is disabled when multiple segments are selected, the playhead is outside the segment or at an endpoint, or the segment cannot be edited, for example because it is locked or read-only.

## Merging two entities <a href="#keyboard-shortcuts" id="keyboard-shortcuts"></a>

Select multiple entities by holding Shift + clicking. Then, click on the "Merge" button that appears:

<figure><img src="https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTcOUG6rfWxqGM0N4db2P%2Fuploads%2FFUr6uU03WUuKHsiOlRka%2Floreshot-20251028-153341.gif?alt=media&amp;token=8e5bafd4-81b4-4ab2-8baa-eea17d54db0e" alt="" width="563"><figcaption></figcaption></figure>

If the entities had attributes (nested questions):

* For all attribute types other than Text, only the attributes of the first entity are retained. (The first entity is the entity that starts first in the audio)
* For the Text attribute type, the text of the second entity is appended to the text of the first entity. (First and second refer to the timestamp at which the entities start in the audio.

## Keyboard Shortcuts <a href="#keyboard-shortcuts" id="keyboard-shortcuts"></a>

A list of keyboard shortcuts is available by clicking on the *Keyboard* button on the right side of the [top bar](/labeling/labeling-editor-interface.md#top-bar):

![](https://3895963154-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Mj9Q2CMggO8ujraHZeP%2F-Mk6GrDAPMxdxM3QCl1T%2F-Mk6H9EHe0BFD31bVpqb%2Fimage.png?alt=media\&token=367cd4e9-9481-4de8-82c3-9baab0f0421d)

### Further reading

{% content-ref url="/pages/-Mjifco2debe91gXbTS1" %}
[Labeling Editor Interface](/labeling/labeling-editor-interface.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.imerit.net/labeling/labeling-editor-interface/audio-labeling-editor.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
