Skip to content

Audio-Annotation

Ein vollständiger Leitfaden zur Audio-Annotation in Potato, von Klassifikation, Tagging und Klangereigniserkennung auf der Wellenform über Transkription und Qualitätsbewertungen (MOS) bis zu Emotion und Sprecherdiarisierung.

Audio-Annotation reicht vom Labeln eines ganzen Clips (»ist das Sprache oder Musik?«) bis zum Markieren des genauen Moments, in dem ein Geräusch auf der Wellenform auftritt. Potato zeigt eine interaktive Wellenform mit Wiedergabe und Zeitmarken, sodass dasselbe Werkzeug Klassifikation, Tagging, zeitlich verankerte Ereigniserkennung, Transkription, Qualitätsbewertungen und Sprecherarbeit abdeckt. Die Feature-Referenz steht unter Audio-Annotation.

Dieser Leitfaden ordnet jeder gängigen Audioaufgabe eine Potato-Einrichtung und ein lauffähiges Showcase-Design zu.

Klassifikation auf Clip-Ebene

Den ganzen Clip mit einer Kategorie labeln. Das deckt akustische Szenenklassifikation, Klassifikation von Umgebungsgeräuschen, Keyword Spotting und Klassifikation von Atemgeräuschen ab.

yaml
annotation_schemes:
  - annotation_type: radio
    name: scene
    description: "What environment was this recorded in?"
    labels: [Street, Park, Office, Home, Vehicle]

Tagging mit mehreren Labels

Wenn mehrere Geräusche oder Tags gleichzeitig zutreffen, wie beim Musik-Tagging und der Ereignisklassifikation nach AudioSet-Art, nimm multiselect.

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: tags
    description: "Select every instrument you can hear."
    labels: [Guitar, Drums, Piano, Vocals, Bass, Synth]

Klangereigniserkennung, Spans auf der Wellenform

Um zu markieren, wann ein Geräusch beginnt und endet, setzt du einen Span über die Audiozeitleiste. Das ist die Klangereigniserkennung, die Audiovariante der Span-Annotation.

yaml
annotation_schemes:
  - annotation_type: span
    name: events
    description: "Mark the start and end of each sound event and label it."
    labels: [Speech, Music, Dog bark, Siren, Silence]

Transkription von Grund auf

Für die Audiotranskription kombinierst du die Wiedergabe mit einem Freitextfeld. Annotierende können beim Tippen durch die Wellenform scrubben.

yaml
annotation_schemes:
  - annotation_type: text
    name: transcript
    description: "Type what is said in this clip."

Ein bereits vorhandenes Transkript annotieren

Von Grund auf zu transkribieren ist der teure Fall. Die meisten Projekte starten mit einem Transkript, das es schon gibt, aus Whisper, einer Cloud-ASR-API oder Untertiteln, die zusammen mit einem Video heruntergeladen wurden. Potato liest 21 Transkript- und Untertitelformate und zeigt deren Turns als Sprecherblasen synchron zum Audio, sodass Annotierende die Segmente labeln, statt sie neu zu erzeugen.

yaml
instance_display:
  fields:
    - key: conversation
      type: audio_dialogue
      label: "Transcript"
      span_target: true
      display_options:
        show_timestamps: true
        allow_speaker_assignment: auto

Was du willst, hängt davon ab, was du misst. Transkribiere von Grund auf, wenn das Transkript das Ergebnis ist oder wenn das Audio so schlecht ist, dass eine ASR-Ausgabe die Annotierenden auf die falschen Wörter festlegen würde. Geh von einem vorhandenen Transkript aus, wenn es dir um den Inhalt geht oder wenn du die ASR-Qualität prüfst und die Fehler sehen willst.

Siehe Whisper-Transkripte annotieren und YouTube-Untertitel annotieren.

Qualitätsbewertungen: MOS und Verständlichkeit

Subjektive Audioqualität wird mit einem Mean Opinion Score gemessen, einer Likert-Bewertung von 1 bis 5, gemittelt über die Hörenden. Das deckt Sprachqualität (MOS) und Sprachverständlichkeit ab.

yaml
annotation_schemes:
  - annotation_type: likert
    name: mos
    description: "Rate the overall quality of this audio."
    size: 5
    min_label: "Bad"
    max_label: "Excellent"

Hinweise zum Entwurf von Skalen findest du unter Bewertungsskalen.

Emotion und Stimmung

Emotionserkennung in Sprache und Stimmungsanalyse auf Audio verbinden eine Kategorie (die Emotion) mit dimensionalen Bewertungen (Erregung, Valenz) über radio plus slider oder likert.

Sprecherdiarisierung

Sprecherdiarisierung beantwortet die Frage, wer wann gesprochen hat. Annotierende markieren Zeitspannen und verknüpfen jede mit einem Sprecher, also Span-Annotation plus ein Verknüpfungsschritt.

Wenn du die Diarisierung vorgelagert schon laufen lassen hast, mit WhisperX oder einer Cloud-API, liest Potato die Sprecherlabels direkt, und die Annotierenden müssen nur noch die Fehler korrigieren. Nicht diarisierte Turns erscheinen als Unassigned mit einer Auswahl, und bei schlechtem Audio schlägt ein zuhörender Mensch oft ein automatisches System.

Praktische Hinweise

  • Halte die Clips kurz genug, um sie nach ein- bis zweimaligem Abspielen zu beurteilen; lange Clips senken die Übereinstimmung.
  • Legt euch bei der Ereigniserkennung darauf fest, wie genau die Grenzen sein müssen, und messt die Übereinstimmung auf Span-Ebene, siehe Inter-Annotator-Übereinstimmung.
  • Normalisiere die Lautheit über die Clips hinweg, damit Qualitätsbewertungen nicht von der Lautstärke getrieben werden.

Weiterführende Lektüre