Skip to content

Annotazione audio

Una guida completa all'annotazione audio in Potato, classificazione, tagging, rilevamento di eventi sonori sulla forma d'onda, trascrizione, giudizi di qualità (MOS), emozione e diarizzazione dei parlanti.

L'annotazione audio va dall'etichettare un intero clip («è parlato o musica?») al marcare il momento esatto in cui un suono compare sulla forma d'onda. Potato mostra una forma d'onda interattiva con riproduzione e marcatori temporali, così lo stesso strumento copre classificazione, tagging, rilevamento di eventi allineati nel tempo, trascrizione, giudizi di qualità e lavoro sui parlanti. Per il riferimento della funzionalità, vedi Annotazione audio.

Questa guida associa ciascun task audio comune a una configurazione di Potato e a un design di esempio eseguibile.

Classificazione a livello di clip

Etichetta l'intero clip con una sola categoria. Rientrano qui la classificazione della scena acustica, la classificazione dei suoni ambientali, il keyword spotting e la classificazione dei suoni respiratori.

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

Tagging multi-etichetta

Quando più suoni o più tag valgono contemporaneamente, come nel tagging musicale e nella classificazione di eventi in stile AudioSet, usa multiselect.

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

Rilevamento di eventi sonori, span sulla forma d'onda

Per marcare quando un suono inizia e finisce, usa uno span sulla timeline audio. È il rilevamento di eventi sonori, la versione audio dell'annotazione a span.

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]

Trascrizione da zero

Per la trascrizione audio, affianca la riproduzione a un campo di testo libero. Gli annotatori possono scorrere la forma d'onda mentre scrivono.

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

Annotare una trascrizione che hai già

Trascrivere da zero è il caso costoso. La maggior parte dei progetti parte da una trascrizione che esiste già, da Whisper, da un'API ASR nel cloud o dai sottotitoli scaricati insieme a un video. Potato legge 21 formati di trascrizione e sottotitolo e mostra i turni come fumetti dei parlanti sincronizzati con l'audio, così gli annotatori etichettano i segmenti invece di ricrearli.

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

Quale delle due strade prendere dipende da cosa stai misurando. Trascrivi da zero quando la trascrizione è il prodotto finale, oppure quando l'audio è così brutto che l'output dell'ASR ancorerebbe gli annotatori alle parole sbagliate. Parti da una trascrizione esistente quando ti interessa il contenuto, oppure quando stai verificando la qualità dell'ASR e vuoi che gli errori restino visibili.

Vedi Annotare le trascrizioni di Whisper e Annotare i sottotitoli di YouTube.

Giudizi di qualità: MOS e intelligibilità

La qualità audio soggettiva si misura con un mean opinion score, un giudizio Likert da 1 a 5 mediato sugli ascoltatori. Rientrano qui la qualità del parlato (MOS) e l'intelligibilità del parlato.

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

Per i consigli su come progettare la scala, vedi Scale di valutazione.

Emozione e sentiment

Il riconoscimento dell'emozione nel parlato e l'analisi del sentiment audio combinano una categoria (l'emozione) con giudizi dimensionali (attivazione, valenza) usando radio insieme a slider o likert.

Diarizzazione dei parlanti

La diarizzazione dei parlanti risponde alla domanda «chi ha parlato e quando». Gli annotatori marcano intervalli temporali e li collegano ciascuno a un parlante, cioè annotazione a span più un passo di collegamento.

Se hai già eseguito la diarizzazione a monte, con WhisperX o un'API cloud, Potato legge direttamente le etichette dei parlanti e agli annotatori resta solo da correggere gli errori. I turni non diarizzati compaiono come Non assegnati con un selettore, e su audio disturbato una persona che ascolta batte spesso un sistema automatico.

Consigli pratici

  • Tieni i clip abbastanza corti da poterli giudicare in uno o due ascolti; i clip lunghi abbassano l'accordo.
  • Per il rilevamento di eventi, mettiti d'accordo su quanto devono essere precisi i confini e misura l'accordo a livello di span, vedi Accordo tra annotatori.
  • Normalizza il volume tra i clip, così i giudizi di qualità non finiscono per dipendere dall'intensità.

Approfondimenti