Skip to content
Diese Seite ist in Ihrer Sprache noch nicht verfügbar. Englische Version wird angezeigt.

Annotazione Audio

Segmenta file audio e assegna etichette a regioni temporali con visualizzazione della forma d'onda.

Annotazione Audio

Lo strumento di annotazione audio di Potato consente agli annotatori di segmentare file audio e assegnare etichette a regioni temporali tramite un'interfaccia basata sulla forma d'onda.

Funzionalità

  • Visualizzazione della forma d'onda
  • Creazione di segmenti basata sul tempo
  • Assegnazione di etichette ai segmenti
  • Controlli di riproduzione con velocità variabile
  • Navigazione tramite zoom e scorrimento
  • Scorciatoie da tastiera
  • Caching della forma d'onda lato server

Configurazione di base

yaml
annotation_schemes:
  - name: "speakers"
    description: "Mark when each speaker is talking"
    annotation_type: "audio_annotation"
    labels:
      - name: "Speaker 1"
        color: "#3B82F6"
      - name: "Speaker 2"
        color: "#10B981"

Opzioni di configurazione

CampoTipoPredefinitoDescrizione
namestringObbligatorioIdentificatore univoco dell'annotazione
descriptionstringObbligatorioIstruzioni mostrate agli annotatori
annotation_typestringObbligatorioDeve essere "audio_annotation"
modestring"label"Modalità di annotazione: "label", "questions" o "both"
labelslistCondizionaleObbligatorio per le modalità label o both
segment_schemeslistCondizionaleObbligatorio per le modalità questions o both
min_segmentsinteger0Numero minimo di segmenti richiesti
max_segmentsintegernullNumero massimo di segmenti consentiti (null = illimitato)
zoom_enabledbooleantrueAbilita i controlli di zoom
playback_rate_controlbooleanfalseMostra il selettore della velocità di riproduzione

Configurazione delle etichette

yaml
labels:
  - name: "speech"
    color: "#3B82F6"
    key_value: "1"
  - name: "music"
    color: "#10B981"
    key_value: "2"
  - name: "silence"
    color: "#64748B"
    key_value: "3"

Modalità di annotazione

Modalità etichetta (predefinita)

I segmenti ricevono etichette di categoria:

yaml
annotation_schemes:
  - name: "emotion"
    description: "Label the emotion in each segment"
    annotation_type: "audio_annotation"
    mode: "label"
    labels:
      - name: "happy"
        color: "#22C55E"
      - name: "sad"
        color: "#3B82F6"
      - name: "angry"
        color: "#EF4444"
      - name: "neutral"
        color: "#64748B"

Modalità domande

Ogni segmento risponde a domande dedicate:

yaml
annotation_schemes:
  - name: "transcription"
    description: "Transcribe each segment"
    annotation_type: "audio_annotation"
    mode: "questions"
    segment_schemes:
      - name: "transcript"
        annotation_type: "text"
        description: "Enter the transcription"
      - name: "confidence"
        annotation_type: "likert"
        description: "How confident are you?"
        size: 5

Modalità combinata

Combina l'etichettatura con questionari per segmento:

yaml
annotation_schemes:
  - name: "detailed_diarization"
    description: "Label speakers and add notes"
    annotation_type: "audio_annotation"
    mode: "both"
    labels:
      - name: "Speaker A"
        color: "#3B82F6"
      - name: "Speaker B"
        color: "#10B981"
    segment_schemes:
      - name: "notes"
        annotation_type: "text"
        description: "Any notes about this segment?"

Configurazione audio globale

Configura la gestione della forma d'onda nel tuo file di configurazione:

yaml
audio_annotation:
  waveform_cache_dir: "waveform_cache/"
  waveform_look_ahead: 5
  waveform_cache_max_size: 1000
  client_fallback_max_duration: 1800
CampoDescrizione
waveform_cache_dirDirectory per i dati della forma d'onda memorizzati nella cache
waveform_look_aheadNumero di istanze successive da pre-calcolare
waveform_cache_max_sizeNumero massimo di file di forma d'onda nella cache
client_fallback_max_durationSecondi massimi per la generazione della forma d'onda lato browser (predefinito: 1800)

Esempi

Diarizzazione degli oratori

yaml
annotation_schemes:
  - name: "diarization"
    description: "Identify who is speaking at each moment"
    annotation_type: "audio_annotation"
    mode: "label"
    labels:
      - name: "Interviewer"
        color: "#8B5CF6"
        key_value: "1"
      - name: "Guest"
        color: "#EC4899"
        key_value: "2"
      - name: "Overlap"
        color: "#F59E0B"
        key_value: "3"
    zoom_enabled: true
    playback_rate_control: true

Rilevamento di eventi sonori

yaml
annotation_schemes:
  - name: "sound_events"
    description: "Mark all sound events"
    annotation_type: "audio_annotation"
    labels:
      - name: "speech"
        color: "#3B82F6"
      - name: "music"
        color: "#10B981"
      - name: "applause"
        color: "#F59E0B"
      - name: "laughter"
        color: "#EC4899"
      - name: "silence"
        color: "#64748B"
    min_segments: 1

Revisione della trascrizione

yaml
annotation_schemes:
  - name: "transcription_review"
    description: "Review and correct the transcription for each segment"
    annotation_type: "audio_annotation"
    mode: "questions"
    segment_schemes:
      - name: "transcript"
        annotation_type: "text"
        description: "Enter or correct the transcription"
        textarea: true
      - name: "quality"
        annotation_type: "radio"
        description: "Audio quality"
        labels:
          - "Clear"
          - "Noisy"
          - "Unintelligible"

Scorciatoie da tastiera

TastoAzione
SpaceRiproduci/pausa
/ Indietro/avanti
[Segna l'inizio del segmento
]Segna la fine del segmento
EnterCrea segmento
DeleteRimuovi il segmento selezionato
1-9Seleziona etichetta
+ / -Zoom avanti/indietro
0Adatta la vista

Formato dei dati

Dati di input

Il file di dati deve includere percorsi o URL dei file audio:

json
[
  {
    "id": "audio_001",
    "audio_url": "https://example.com/audio/recording1.mp3"
  },
  {
    "id": "audio_002",
    "audio_url": "/data/audio/recording2.wav"
  }
]

Configura il campo audio:

yaml
item_properties:
  id_key: id
  text_key: audio_url

Formato di output

json
{
  "id": "audio_001",
  "annotations": {
    "diarization": [
      {
        "start": 0.0,
        "end": 5.5,
        "label": "Interviewer"
      },
      {
        "start": 5.5,
        "end": 12.3,
        "label": "Guest"
      },
      {
        "start": 12.3,
        "end": 14.0,
        "label": "Overlap"
      }
    ]
  }
}

In modalità domande, i segmenti includono risposte annidate:

json
{
  "start": 0.0,
  "end": 5.5,
  "transcript": "Hello and welcome to the show.",
  "quality": "Clear"
}

Formati audio supportati

  • MP3 (consigliato)
  • WAV
  • OGG
  • M4A

Buone pratiche

  1. Pre-cacha le forme d'onda - Usa il caching lato server per dataset di grandi dimensioni
  2. Abilita il controllo della riproduzione - La velocità variabile aiuta nella segmentazione precisa
  3. Usa le scorciatoie da tastiera - Molto più veloce del clic
  4. Definisci confini chiari - Specifica cosa costituisce l'inizio/fine di un segmento
  5. Scegli la modalità appropriata - Usa "label" per la classificazione, "questions" per annotazioni dettagliate
  6. Imposta limiti di segmenti - Usa min_segments per garantire la copertura