Annotation de diarisation de locuteurs
Construisez une tâche d'identification de locuteurs avec des formes d'onde audio, des marqueurs temporels et l'attribution d'étiquettes de locuteurs.
Annotation de diarisation de locuteurs
La diarisation de locuteurs répond à la question « qui a parlé quand ? » Ce tutoriel couvre la construction d'interfaces pour annoter les tours de parole, corriger la diarisation automatique et gérer les conversations multi-locuteurs.
Qu'est-ce que la diarisation de locuteurs ?
La diarisation de locuteurs segmente l'audio en régions homogènes par locuteur. Les applications incluent :
- Transcription de réunions
- Analyse de centres d'appels
- Production de podcasts
- Traitement d'interviews
- Enregistrements juridiques/de tribunal
Configuration basique de la diarisation
annotation_task_name: "Speaker Diarization"
data_files:
- "data/conversations.json"
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
description: "Mark when each speaker talks"
labels:
- name: Speaker 1
color: "#FF6B6B"
keyboard_shortcut: "1"
- name: Speaker 2
color: "#4ECDC4"
keyboard_shortcut: "2"
- name: Speaker 3
color: "#45B7D1"
keyboard_shortcut: "3"
- name: Overlap
color: "#FFEAA7"
keyboard_shortcut: "o"
- name: Silence
color: "#9CA3AF"
keyboard_shortcut: "s"Créer des segments de locuteurs
Flux de travail
- Lancez la lecture audio ou cliquez sur la forme d'onde pour naviguer
- Cliquez et faites glisser sur la forme d'onde pour sélectionner une plage temporelle
- Appuyez sur une touche numérique ou cliquez sur une étiquette de locuteur
- Le segment est coloré et étiqueté
- Ajustez les limites en faisant glisser les bords
- Continuez jusqu'à ce que l'audio entier soit segmenté
Contrôles clavier
Potato fournit des raccourcis clavier intégrés pour le contrôle de la lecture audio, incluant la lecture/pause et la navigation.
Correction de diarisation pré-annotée
Souvent, vous corrigerez une diarisation automatique :
data_files:
- "data/auto_diarized.json"Format des données :
{
"id": "meeting_001",
"audio_path": "/audio/meeting_001.wav",
"auto_segments": [
{"start": 0.0, "end": 3.5, "speaker": "Speaker 1"},
{"start": 3.5, "end": 8.2, "speaker": "Speaker 2"},
{"start": 8.2, "end": 12.0, "speaker": "Speaker 1"}
]
}Informations détaillées sur les locuteurs
Capturez des métadonnées supplémentaires sur les locuteurs :
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
labels:
- name: Speaker A
color: "#FF6B6B"
- name: Speaker B
color: "#4ECDC4"
- name: Speaker C
color: "#45B7D1"
- name: Unknown
color: "#9CA3AF"
# Speaker characteristics
- annotation_type: radio
name: speaker_a_gender
description: "Speaker A Gender"
labels:
- Male
- Female
- Unknown
- annotation_type: text
name: speaker_a_role
description: "Speaker A Role (if identifiable)"
- annotation_type: radio
name: speaker_b_gender
description: "Speaker B Gender"
labels:
- Male
- Female
- UnknownGestion de la parole superposée
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
labels:
- name: Speaker 1
color: "#FF6B6B"
- name: Speaker 2
color: "#4ECDC4"
- name: Overlap
color: "#FFEAA7"Diarisation de réunion/interview
annotation_task_name: "Meeting Diarization"
data_files:
- "data/meetings.json"
annotation_schemes:
# Speaker turns
- annotation_type: audio_annotation
name: turns
description: "Mark each speaker turn"
labels:
- name: Moderator
color: "#EF4444"
keyboard_shortcut: "m"
- name: Participant 1
color: "#3B82F6"
keyboard_shortcut: "1"
- name: Participant 2
color: "#10B981"
keyboard_shortcut: "2"
- name: Participant 3
color: "#F59E0B"
keyboard_shortcut: "3"
- name: Participant 4
color: "#8B5CF6"
keyboard_shortcut: "4"
- name: Unknown
color: "#6B7280"
keyboard_shortcut: "u"
- name: Overlap
color: "#FCD34D"
keyboard_shortcut: "o"
- name: Silence/Noise
color: "#D1D5DB"
keyboard_shortcut: "s"
# Speech type annotation
- annotation_type: radio
name: speech_type
description: "Type of speech"
labels:
- Statement
- Question
- Response
- Interruption
- Backchannel
# Overall quality
- annotation_type: radio
name: recording_quality
description: "Overall recording quality"
labels:
- Excellent - All speakers clear
- Good - Most speech understandable
- Fair - Some difficulty
- Poor - Significant issuesFormat de sortie
{
"id": "meeting_001",
"audio_path": "/audio/meeting_001.wav",
"annotations": {
"turns": [
{
"start": 0.0,
"end": 5.2,
"label": "Moderator",
"attributes": {
"speech_type": "Statement"
}
},
{
"start": 5.2,
"end": 12.8,
"label": "Participant 1",
"attributes": {
"speech_type": "Response"
}
},
{
"start": 11.5,
"end": 12.8,
"label": "Overlap"
}
],
"recording_quality": "Good - Most speech understandable"
}
}Conseils pour la diarisation
- Écoutez d'abord : familiarisez-vous avec les locuteurs avant d'annoter
- Notez les caractéristiques des locuteurs : hauteur de voix, accent, style de parole
- Gérez les chevauchements de manière cohérente : décidez d'une stratégie à l'avance
- Utilisez le contrôle de vitesse : ralentissez pour les sections difficiles
- Marquez l'incertitude : il est normal d'utiliser « Unknown » quand nécessaire
Prochaines étapes
- Combinez avec la transcription pour des comptes rendus de réunion complets
- Ajoutez la détection d'émotions par locuteur
- Configurez le contrôle qualité pour l'accord multi-annotateurs
Voir /docs/features/audio-annotation pour la documentation audio complète.